Github user tdas commented on a diff in the pull request:
https://github.com/apache/spark/pull/19452#discussion_r144437858
--- Diff:
sql/core/src/main/scala/org/apache/spark/sql/execution/streaming/StreamingSymmetricHashJoinHelper.scala
---
@@ -66,6 +67,68 @@ object StreamingSymmetricHashJoinHelper extends Logging {
}
}
+ /**
+ * Wrapper around various useful splits of the join condition.
+ * left AND right AND joined is equivalent to full.
+ *
+ * Note that left and right do not necessarily contain *all* conjuncts
which satisfy
+ * their condition. Any conjuncts after the first nondeterministic one
are treated as
+ * nondeterministic for purposes of the split.
+ *
+ * @param leftSideOnly Deterministic conjuncts which reference only the
left side of the join.
+ * @param rightSideOnly Deterministic conjuncts which reference only the
right side of the join.
+ * @param bothSides Conjuncts which are nondeterministic, occur after a
nondeterministic conjunct,
+ * or reference both left and right sides of the join.
+ * @param full The full join condition.
+ */
+ case class JoinConditionSplitPredicates(
+ leftSideOnly: Option[Expression],
+ rightSideOnly: Option[Expression],
+ bothSides: Option[Expression],
+ full: Option[Expression]) {}
--- End diff --
incorrect indent.
add pretty toString so that when we print the plan it shows up nicely as
`...., condition = [ leftOnly = ..., rightOnly = ..., both = ... ],
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]