chunweilei commented on a change in pull request #1162: [CALCITE-2343] 
PushProjector with OVER expression causes infinite loop (Chunwei Lei)
URL: https://github.com/apache/calcite/pull/1162#discussion_r275620452
 
 

 ##########
 File path: 
core/src/main/java/org/apache/calcite/rel/rules/ProjectJoinTransposeRule.java
 ##########
 @@ -38,7 +39,7 @@
  */
 public class ProjectJoinTransposeRule extends RelOptRule {
   public static final ProjectJoinTransposeRule INSTANCE =
-      new ProjectJoinTransposeRule(expr -> true,
+      new ProjectJoinTransposeRule(expr -> !(expr instanceof RexOver),
           RelFactories.LOGICAL_BUILDER);
 
 
 Review comment:
   Not that `ProjectJoinTransposeRule#preserveExprCondition` means expressions 
that should be preserved in the project after transposing instead of in the 
origin project. So `expr -> !(expr instanceof RexOver)` means `RexOver` should 
be left in the origin project namely should not be pushed past join.

----------------------------------------------------------------
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:
[email protected]


With regards,
Apache Git Services

Reply via email to