davidradl commented on code in PR #27498:
URL: https://github.com/apache/flink/pull/27498#discussion_r2754352032


##########
flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/utils/MultiJoinUtil.java:
##########
@@ -71,9 +71,13 @@ private static void extractEqualityConditions(
         final SqlKind kind = call.getOperator().getKind();
 
         if (kind != SqlKind.EQUALS) {
-            for (final RexNode operand : call.getOperands()) {
-                extractEqualityConditions(
-                        operand, inputOffsets, inputFieldCounts, 
joinAttributeMap);
+            // Only conjunctions (AND) can contain equality conditions that 
are valid for multijoin.
+            // All other condition types are deferred to the postJoinFilter.
+            if (kind == SqlKind.AND) {

Review Comment:
   This reminds me of restrictions we found during lookup processing. and what 
comes through as a join key vs a filter. The following 2 scenarios did not 
resolve to equalities (and end up as join keys):
   - matching booleans, were optimized to a flag. This case may still be worth 
testing here and allowing.   
   - matching complex nested objects 
   
   
   



-- 
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]

Reply via email to