hsyuan commented on a change in pull request #1157: [CALCITE-2969] Improve 
design of join-like relational expressions
URL: https://github.com/apache/calcite/pull/1157#discussion_r285231506
 
 

 ##########
 File path: core/src/main/java/org/apache/calcite/rel/core/EquiJoin.java
 ##########
 @@ -27,12 +27,33 @@
 
 /**
  * Base class for any join whose condition is based on column equality.
+ *
+ * <p>For most of the cases, {@link JoinInfo#isEqui()} can already decide
+ * if the join condition is based on column equality.
+ *
+ * <p>{@code EquiJoin} is an abstract class for inheritance of Calcite 
enumerable
+ * joins and join implementation of other system. You should inherit the 
{@code EquiJoin}
+ * if your join implementation does not support non-equi join conditions. 
Calcite would
+ * eliminate some optimize logic for {@code EquiJoin} in some planning rules.
+ * e.g. {@link org.apache.calcite.rel.rules.FilterJoinRule} would not push 
non-equi
+ * join conditions of the above filter into the join underneath if it is an 
{@code EquiJoin}.
  */
 public abstract class EquiJoin extends Join {
 
 Review comment:
   We should also deprecate `EquiJoin`.

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to