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