>From Ali Alsuliman <[email protected]>:

Attention is currently required from: Vijay Sarathy.
Ali Alsuliman has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19351 )

Change subject: [ASTERIXDB-3543][COMP] Investigate single reference inlining 
rule
......................................................................


Patch Set 12:

(5 comments)

Patchset:

PS12:
Update the commit message with more details.
Make the new test compare full plans by adding it to the runtime test.


File 
hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/InlineSingleReferenceVariablesRule.java:

https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19351/comment/0f3cacf6_46b599fa
PS12, Line 57: List
We can use Set<> = new HashSet<> for both of these


https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19351/comment/a1e5bf44_25d8aee4
PS12, Line 98: VariableUtilities.getProducedVariables(op, docRefVars);
Add a comment above this line saying that we should find a way to exclude 
primary keys.


File 
hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/InlineVariablesRule.java:

https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19351/comment/014781e8_229df08f
PS12, Line 74: private Map<LogicalVariable, ILogicalExpression> varAssignRhs = 
new HashMap<>();
             :     private Map<LogicalVariable, ILogicalOperator> varAssignOp = 
new HashMap<>();
             :     // visitor for replacing variable reference expressions with 
their originating expression.
             :     protected InlineVariablesVisitor inlineVisitor = new 
InlineVariablesVisitor(varAssignRhs, varAssignOp);
             :     // set of FunctionIdentifiers that we should not inline.
             :     protected Set<FunctionIdentifier> doNotInlineFuncs = new 
HashSet<>();
Make those objects final.


https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19351/comment/cb4e1e51_9bd588d6
PS12, Line 318: private List<LogicalVariable> usedResultVars = new 
ArrayList<>();
              :         private List<LogicalVariable> docRefVars = new 
ArrayList<>();
Those two can be Set



--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19351
To unsubscribe, or for help writing mail filters, visit 
https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Change-Id: Ia818f11e45bf66e3b4807938bfb635c70fa9c496
Gerrit-Change-Number: 19351
Gerrit-PatchSet: 12
Gerrit-Owner: Vijay Sarathy <[email protected]>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <[email protected]>
Gerrit-Reviewer: Vijay Sarathy <[email protected]>
Gerrit-CC: Ali Alsuliman <[email protected]>
Gerrit-Attention: Vijay Sarathy <[email protected]>
Gerrit-Comment-Date: Fri, 31 Jan 2025 20:18:08 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment

Reply via email to