yihua commented on code in PR #8885:
URL: https://github.com/apache/hudi/pull/8885#discussion_r1224609909
##########
hudi-client/hudi-spark-client/src/main/scala/org/apache/spark/sql/HoodieCatalystPlansUtils.scala:
##########
@@ -52,6 +52,31 @@ trait HoodieCatalystPlansUtils {
*/
def createJoin(left: LogicalPlan, right: LogicalPlan, joinType: JoinType):
Join
+ /**
+ * Decomposes [[MatchMergeIntoTable]] into its arguments with accommodation
for
+ * case class changes of [[MergeIntoTable]] in Spark 3.4.
+ *
+ * Before Spark 3.4.0 (five arguments):
+ *
+ * case class MergeIntoTable(
+ * targetTable: LogicalPlan,
+ * sourceTable: LogicalPlan,
+ * mergeCondition: Expression,
+ * matchedActions: Seq[MergeAction],
+ * notMatchedActions: Seq[MergeAction]) extends BinaryCommand with
SupportsSubquery
+ *
+ * Since Spark 3.4.0 (six arguments):
+ *
+ * case class MergeIntoTable(
+ * targetTable: LogicalPlan,
+ * sourceTable: LogicalPlan,
+ * mergeCondition: Expression,
+ * matchedActions: Seq[MergeAction],
+ * notMatchedActions: Seq[MergeAction],
+ * notMatchedBySourceActions: Seq[MergeAction]) extends BinaryCommand with
SupportsSubquery
+ */
+ def unapplyMergeIntoTable(plan: LogicalPlan): Option[(LogicalPlan,
LogicalPlan, Expression)]
Review Comment:
This is ultimately used in `HoodieAnalysis` to match the plan.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]