Skip to content

MergeIntoTable Logical Command

MergeIntoTable is a BinaryCommand that represents MERGE INTO DML statement.

MergeIntoTable is a SupportsSubquery (for the source).

Creating Instance

MergeIntoTable takes the following to be created:

  • Target Table (LogicalPlan)
  • Source Table or Subquery (LogicalPlan)
  • Merge Condition (Expression)
  • Matched MergeActions
  • Not-Matched MergeActions
  • Not-Matched-by-Source MergeActions

MergeIntoTable is created when:

Execution Planning

MergeIntoTable command is not supported in Spark SQL and BasicOperators execution planning strategy throws an UnsupportedOperationException when finds any:

MERGE INTO TABLE is not supported temporarily.


MergeIntoTable is to allow custom connectors to support MERGE SQL statement (and so does Delta Lake).