Yingyi Bu has posted comments on this change. Change subject: Compile a plan that matches user query in the case of nonpure functions ......................................................................
Patch Set 4: (2 comments) I'm not sure how general the mechanism of "ConstantAtRuntimeExpressions()" is. Does it work with general cases? For example, for $x in dataset foo let $time := current-time() for $y in dataset bar where $y.time > $time-50 return { "x_id": $x.id, "y_id": $y.id } for $x in dataset foo let $time := current-time() return { "x_id": $x.id, "y_ids": for $y in dataset bar where $y.time > $time-50 } What's the query plan of the above queries look like? https://asterix-gerrit.ics.uci.edu/#/c/1057/4/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java File asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java: Line 729: //Nonpure nonjoin case It's not intuitive for me to understand the if condition, e.g., why this cannot lead to false positives or false dismissals? https://asterix-gerrit.ics.uci.edu/#/c/1057/4/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IOptimizableFuncExpr.java File asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IOptimizableFuncExpr.java: Line 80: ILogicalExpression[] getConstantAtRuntimeExpressions(); What does ConstantAtRuntimeExpressions() mean? It's not obvious to me how this is general enough for nested subqueries? -- To view, visit https://asterix-gerrit.ics.uci.edu/1057 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I2dec322b30835625430c06acd7626d902bada137 Gerrit-PatchSet: 4 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Steven Jacobs <sjaco...@ucr.edu> Gerrit-Reviewer: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Gerrit-Reviewer: Michael Blow <mb...@apache.org> Gerrit-Reviewer: Preston Carman <prest...@apache.org> Gerrit-Reviewer: Steven Jacobs <sjaco...@ucr.edu> Gerrit-Reviewer: Yingyi Bu <buyin...@gmail.com> Gerrit-HasComments: Yes