asterixdb-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yingyi Bu (Code Review)" <do-not-re...@asterixdb.incubator.apache.org>
Subject Change in hyracks[master]: Equivalence induced onetoone operatiions
Date Fri, 30 Oct 2015 16:34:20 GMT
Yingyi Bu has posted comments on this change.

Change subject: Equivalence induced onetoone operatiions
......................................................................


Patch Set 5:

(10 comments)

https://asterix-gerrit.ics.uci.edu/#/c/427/5/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/metadata/IMetadataProvider.java
File algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/metadata/IMetadataProvider.java:

Line 76:             JobGenContext context, JobSpecification jobSpec, boolean bulkload, int
nodeId) throws AlgebricksException;
this should be a hash value (maybe it's only a naming issue),  the specific node id (partition)
is determined within this method.
That could keep the physical optimizations unaware of the low level cluster configurations.


Line 86:             JobGenContext context, JobSpecification jobSpec, int nodeId) throws AlgebricksException;
same as above.


https://asterix-gerrit.ics.uci.edu/#/c/427/5/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/InsertDeleteOperator.java
File algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/InsertDeleteOperator.java:

Line 46:     private int partitionId;
that should be a hash value instead of the real partition id (maybe it's a naming issue).
Also these two properties shouldn't appear in a logical operator.  Instead, they should be
in InsertDeletePOperator.


Line 116:         if (-1 != partition)
to be more readable: (partition != -1)


https://asterix-gerrit.ics.uci.edu/#/c/427/5/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/UnnestMapOperator.java
File algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/UnnestMapOperator.java:

Line 87:     private boolean isSinglePartition;
Both these two variables shouldn't appear in this class.
We have a clear logical/physical separation in the compiler.  A logical operator shouldn't
be aware of physical details.
Instead, the two should go to BTree Search.


https://asterix-gerrit.ics.uci.edu/#/c/427/5/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableExpressionVisitor.java
File algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableExpressionVisitor.java:

Line 64:  * @author michael
What's the purpose of this class?

If it is a general visitor for you to find the <var, exp> map produced by an operator,
it seems the implementations of several other operators are missing,  e.g., aggregate, running
aggregate, and group-by


Line 237:         varToExpr.put(vars, null);
Why do you need to put vars-->null map into the varToExprMap?
Those variables are produced by the index-search function call, just that index-search is
not a stateless function.


https://asterix-gerrit.ics.uci.edu/#/c/427/5/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
File algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java:

Line 90:     public abstract void setSingle(boolean isSingle);
"abstract" is not needed because it is an interface.
The same for the rest methods.


https://asterix-gerrit.ics.uci.edu/#/c/427/5/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/StructuralPropertiesVector.java
File algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/StructuralPropertiesVector.java:

Line 88:                 return null;
return new StructuralPropertiesVector(diffLocals, null);


https://asterix-gerrit.ics.uci.edu/#/c/427/5/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
File algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java:

Line 204:         /*if (required != null && required.getPartitioningProperty() !=
null && op.getInputs().size() == 1
remove commented code.


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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ic836210e57b87128120e1f8dabbfed062d09f5e4
Gerrit-PatchSet: 5
Gerrit-Project: hyracks
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lwhaymail@yahoo.com>
Gerrit-Reviewer: Ian Maxon <imaxon@apache.org>
Gerrit-Reviewer: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Jianfeng Jia <jianfeng.jia@gmail.com>
Gerrit-Reviewer: Steven Jacobs <sjaco002@ucr.edu>
Gerrit-Reviewer: Till Westmann <tillw@apache.org>
Gerrit-Reviewer: Yingyi Bu <buyingyi@gmail.com>
Gerrit-HasComments: Yes

Mime
View raw message