Dmitry Lychagin has posted comments on this change.

Change subject: [ASTERIXDB-1984][COMP] probe-subtree init not required
......................................................................


Patch Set 18:

(3 comments)

https://asterix-gerrit.ics.uci.edu/#/c/1880/17/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java
File 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java:

Line 328:                         e.printStackTrace();
> Yingyi suggested that a lambda expression is more understandable for this p
Why not just use a regular 'for' loop?
for (AccessMethodAnalysisContext amCtx : analyzedAMs.values()) {
  fillFieldTypeForOptFuncExpr(leftSubTree, amCtx, context);
}

It looks like you're iterating through analyzedAMs.values() twice. Can we 
handle both left and right subtrees in a single loop?

for (AccessMethodAnalysisContext amCtx : analyzedAMs.values()) {
  fillFieldTypeForOptFuncExpr(leftSubTree, amCtx, context);
  fillAllIndexExprs(rightSubTree, amCtx, context);
}


https://asterix-gerrit.ics.uci.edu/#/c/1880/18/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java
File 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java:

Line 417:         if (!rightSubTreeInitialized || 
!rightSubTree.hasDataSourceScan()) {
can we replace the remaining lines in this method with  "return 
rightSubTreeInitialized && rightSubTree.hasDataSourceScan()"
Makes it easier to read.


https://asterix-gerrit.ics.uci.edu/#/c/1880/17/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java
File 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java:

Line 343:                     } catch (Exception e) {
> Same for the join case. I tried to change it to a lambda expression and "th
Same suggestion here. Use a regular 'for' loop iterating over 
analyzedAMs.values()


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1880
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a25
Gerrit-PatchSet: 18
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Taewoo Kim <[email protected]>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Dmitry Lychagin <[email protected]>
Gerrit-Reviewer: Jenkins <[email protected]>
Gerrit-Reviewer: Taewoo Kim <[email protected]>
Gerrit-Reviewer: Yingyi Bu <[email protected]>
Gerrit-HasComments: Yes

Reply via email to