Steven Jacobs has posted comments on this change.

Change subject: Compile a plan that matches user query in the case of nonpure 
functions
......................................................................


Patch Set 4:

(3 comments)

Regarding the two queries that you listed, I will look into them more and 
comment back with a report.

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 ca
I'm not sure if I can 100% guarantee this, but I'm not sure whether that was 
true before this change either. The nice thing is that there are several checks 
elsewhere, and as a whole it seems that no false negatives or positives are 
occurring. The tests are passing, but we are only guaranteed to be as reliable 
as our tests. Until the access methods get the long overdue overhaul, I don't 
know if we can get better than this.


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?
This name is lingering from the previous assumption that nonPures could be 
pushed  into the function calls. Now that this is no longer true these values 
only hold expressions that are actually constant. I've renamed the variables 
and methods


https://asterix-gerrit.ics.uci.edu/#/c/1057/4/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/ExtractCommonExpressionsRule.java
File 
hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/ExtractCommonExpressionsRule.java:

Line 252:                         // However, if the op is already using 
variables that are not live, 
> MAJOR SonarQube violation:
Done


-- 
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 <[email protected]>
Gerrit-Reviewer: Jenkins <[email protected]>
Gerrit-Reviewer: Michael Blow <[email protected]>
Gerrit-Reviewer: Preston Carman <[email protected]>
Gerrit-Reviewer: Steven Jacobs <[email protected]>
Gerrit-Reviewer: Yingyi Bu <[email protected]>
Gerrit-HasComments: Yes

Reply via email to