asterixdb-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yingyi Bu (Code Review)" <>
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:

File algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/metadata/

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.
File algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/

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)
File algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/

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.
File algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/

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.
File algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/

Line 90:     public abstract void setSingle(boolean isSingle);
"abstract" is not needed because it is an interface.
The same for the rest methods.
File algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/

Line 88:                 return null;
return new StructuralPropertiesVector(diffLocals, null);
File algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/

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

To view, visit
To unsubscribe, visit

Gerrit-MessageType: comment
Gerrit-Change-Id: Ic836210e57b87128120e1f8dabbfed062d09f5e4
Gerrit-PatchSet: 5
Gerrit-Project: hyracks
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <>
Gerrit-Reviewer: Ian Maxon <>
Gerrit-Reviewer: Jenkins <>
Gerrit-Reviewer: Jianfeng Jia <>
Gerrit-Reviewer: Steven Jacobs <>
Gerrit-Reviewer: Till Westmann <>
Gerrit-Reviewer: Yingyi Bu <>
Gerrit-HasComments: Yes

View raw message