yashlimbad commented on code in PR #4840:
URL: https://github.com/apache/calcite/pull/4840#discussion_r3043060029


##########
core/src/main/java/org/apache/calcite/rel/core/Join.java:
##########
@@ -355,6 +355,30 @@ public static RelDataType createJoinType(
   public abstract Join copy(RelTraitSet traitSet, RexNode conditionExpr,
       RelNode left, RelNode right, JoinRelType joinType, boolean semiJoinDone);
 
+  /**
+   * Creates a copy of this join, overriding condition, system fields and
+   * inputs.
+   *
+   * <p>General contract as {@link RelNode#copy}.
+   *
+   * @param traitSet      Traits
+   * @param conditionExpr Condition
+   * @param left          Left input
+   * @param right         Right input
+   * @param joinType      Join type
+   * @param semiJoinDone  Whether this join has been translated to a
+   *                      semi-join
+   * @param variablesSet  Set of variables that are set by the
+   *                      LHS and used by the RHS and are not available to
+   *                      nodes above this LogicalJoin in the tree
+   * @return Copy of this join
+   */
+  public Join copy(RelTraitSet traitSet, RexNode conditionExpr,

Review Comment:
   RelBuilder.join will produce LogicalJoin only which will fail if other kind 
of join encountered.
   and also join will lose hint/traitSet/isSemiJoinDone.
   then according to this, we will need copy method as abstract; should I 
continue effort of making copy method abstract?



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