jcamachor commented on a change in pull request #2349:
URL: https://github.com/apache/calcite/pull/2349#discussion_r644129961
##########
File path: core/src/main/java/org/apache/calcite/rel/core/JoinRelType.java
##########
@@ -152,4 +152,29 @@ public JoinRelType cancelNullsOnRight() {
public boolean projectsRight() {
return this != SEMI && this != ANTI;
}
+
+ /** Returns whether this join type accepts pushing predicates from above
into its predicate. */
+ public boolean canPushIntoFromAbove() {
+ return (this == INNER) || (this == SEMI);
+ }
+
+ /** Returns whether this join type accepts pushing predicates from above
into its left input. */
+ public boolean canPushLeftFromAbove() {
+ return (this == INNER) || (this == LEFT) || (this == SEMI) || (this ==
ANTI);
+ }
+
+ /** Returns whether this join type accepts pushing predicates from above
into its right input. */
+ public boolean canPushRightFromAbove() {
+ return (this == INNER) || (this == RIGHT);
+ }
+
+ /** Returns whether this join type accepts pushing predicates from within
into its left input. */
+ public boolean canPushLeftFromWithin() {
+ return (this == INNER) || (this == RIGHT) || (this == SEMI);
+ }
+
+ /** Returns whether this join type accepts pushing predicates from within
into its right input. */
+ public boolean canPushRightFromWithin() {
+ return (this == INNER) || (this == LEFT) || (this == SEMI);
+ }
Review comment:
Added the experimental annotation.
--
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]