Skip to content

DeltaMergeInto Logical Command

DeltaMergeInto is a logical command (Spark SQL's Command).

Creating Instance

DeltaMergeInto takes the following to be created:

  • Target LogicalPlan
  • Source LogicalPlan
  • Condition Expression
  • Matched Clauses (Seq[DeltaMergeIntoMatchedClause])
  • Optional Non-Matched Clause (Option[DeltaMergeIntoInsertClause])
  • Optional Migrated Schema (default: undefined)

DeltaMergeInto is created (using apply and resolveReferences utilities) when:

Utilities

apply

apply(
  target: LogicalPlan,
  source: LogicalPlan,
  condition: Expression,
  whenClauses: Seq[DeltaMergeIntoClause]): DeltaMergeInto

apply...FIXME

apply is used when:

  • DeltaMergeBuilder is requested to execute (when mergePlan)
  • DeltaAnalysis logical resolution rule is executed (and resolves MergeIntoTable logical command)

resolveReferences

resolveReferences(
  merge: DeltaMergeInto,
  conf: SQLConf)(
  resolveExpr: (Expression, LogicalPlan) => Expression): DeltaMergeInto

resolveReferences...FIXME

resolveReferences is used when:

  • DeltaMergeBuilder is requested to execute
  • DeltaAnalysis logical resolution rule is executed (and resolves MergeIntoTable logical command)

Last update: 2020-09-20