Yingyi Bu has posted comments on this change. Change subject: ASTERIXDB-1005, ASTERIXDB-1263: Clean up subplan flattening: 1. Inline NestedTupleSource and remove SubplanOperator for special cases that join operators inside the SubplanOperator can be re-targeted for correlations; 2. Blindly inline NestedTupleSo ......................................................................
Patch Set 13: (7 comments) Post comments on behalf of Till, Mike (B.), and Steven. https://asterix-gerrit.ics.uci.edu/#/c/579/13/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java File asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java: Line 89: The visitor ensures that the variables used to correlate between the Adding an abstract example Line 214: // This limits the visitor can only be applied to a nested logical plan inside a Subplan operator, split this method a little bit https://asterix-gerrit.ics.uci.edu/#/c/579/13/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java File asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java: Line 206: injectNullCheckVars(op); We don't need to inject null vars if it used to be a left outer join https://asterix-gerrit.ics.uci.edu/#/c/579/13/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanFlatteningUtil.java File asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanFlatteningUtil.java: Line 97: .canFlattenSubplanJoinRuleFire(subplanOp); rename the function name. Line 116: return new Pair<Set<LogicalVariable>, Mutable<ILogicalOperator>>(specialVisitor.getNullCheckVariables(), This might introduce a bug. This if-clause might not be needed. https://asterix-gerrit.ics.uci.edu/#/c/579/13/asterix-app/src/test/resources/optimizerts/queries/nested_loj4.aql File asterix-app/src/test/resources/optimizerts/queries/nested_loj4.aql: Line 72: let $orders := WS https://asterix-gerrit.ics.uci.edu/#/c/579/13/asterix-app/src/test/resources/optimizerts/queries/query-ASTERIXDB-1263.aql File asterix-app/src/test/resources/optimizerts/queries/query-ASTERIXDB-1263.aql: Line 43: primary key tweetid; WS -- To view, visit https://asterix-gerrit.ics.uci.edu/579 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I4dd130a25f3c81272cc23f844ea20e376e990612 Gerrit-PatchSet: 13 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Yingyi Bu <buyin...@gmail.com> Gerrit-Reviewer: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Gerrit-Reviewer: Preston Carman <prest...@apache.org> Gerrit-Reviewer: Steven Jacobs <sjaco...@ucr.edu> Gerrit-Reviewer: Till Westmann <ti...@apache.org> Gerrit-Reviewer: Yingyi Bu <buyin...@gmail.com> Gerrit-HasComments: Yes