You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by Lars Francke <as...@lars-francke.de> on 2014/10/10 23:44:49 UTC
Review Request 26577: HIVE-8222: Cleanup CBO code
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/26577/
-----------------------------------------------------------
Review request for hive.
Bugs: HIVE-8222
https://issues.apache.org/jira/browse/HIVE-8222
Repository: hive-git
Description
-------
Cleans up CBO code
Diffs
-----
ql/src/java/org/apache/hadoop/hive/ql/QueryProperties.java 5dab171
ql/src/java/org/apache/hadoop/hive/ql/exec/GroupByOperator.java 4632f08
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizationContext.java 34f5823
ql/src/java/org/apache/hadoop/hive/ql/optimizer/ColumnPrunerProcFactory.java ba28bc7
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/HiveDefaultRelMetadataProvider.java e9e052f
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/HiveOptiqUtil.java 4bb99d9
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/HiveTypeSystemImpl.java 1bc5a2c
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/OptiqSemanticException.java d2b08fa
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/RelOptHiveTable.java 080d27f
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/TraitsUtil.java 9b653d3
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/cost/HiveCost.java 72fe5d6
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/cost/HiveCostUtil.java 7436f12
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/cost/HiveVolcanoPlanner.java 15596bc
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveAggregateRel.java fc19895
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveFilterRel.java 8b85046
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveJoinRel.java 3d6aa84
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveLimitRel.java f8755d0
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveProjectRel.java 7b434ea
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveRel.java 4738c4a
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveSortRel.java f85363d
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveTableScanRel.java bd66459
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveUnionRel.java d34fe95
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/rules/HivePartitionPrunerRule.java ee19a6c
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/rules/HivePushFilterPastJoinRule.java da0f7a4
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/rules/PartitionPruner.java a218eca
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/FilterSelectivityEstimator.java 214a29f
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdDistinctRowCount.java 4be57b1
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdRowCount.java 949eb19
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdSelectivity.java 49d2ee5
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdUniqueKeys.java 06ff584
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/ASTBuilder.java 98723a3
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/ASTConverter.java f5a704f
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/ExprNodeConverter.java e6e491f
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/JoinCondTypeCheckProcFactory.java 406c18e
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/JoinTypeCheckCtx.java fdee66b
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/PlanModifierForASTConv.java 3d90ae7
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/RexNodeConverter.java ec85603
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/SqlFunctionConverter.java 31f906a
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/TypeConverter.java 2c30e9d
ql/src/java/org/apache/hadoop/hive/ql/parse/RowResolver.java 9c55379
ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java 5c7f148
ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java e065983
ql/src/java/org/apache/hadoop/hive/ql/plan/AggregationDesc.java 1a0cdf8
ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeConstantDesc.java 8a41577
ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeDescUtils.java 686befd
Diff: https://reviews.apache.org/r/26577/diff/
Testing
-------
Thanks,
Lars Francke
Re: Review Request 26577: HIVE-8222: Cleanup CBO code
Posted by Lars Francke <as...@lars-francke.de>.
> On Oct. 11, 2014, 12:42 a.m., John Pullokkaran wrote:
> > ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/RelOptHiveTable.java, line 210
> > <https://reviews.apache.org/r/26577/diff/1/?file=717854#file717854line210>
> >
> > Why this move?
This was one of the instances where the variable scope was too broad preventing the compiler from optimizing if needed.
> On Oct. 11, 2014, 12:42 a.m., John Pullokkaran wrote:
> > ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/FilterSelectivityEstimator.java, line 147
> > <https://reviews.apache.org/r/26577/diff/1/?file=717871#file717871line147>
> >
> > This move seems less performant; i know compiler might optimize it.
I'm pretty sure the compiler will optimize this and it makes the method shorter more readable as well as narrows the scope of the variable to where it's actually needed.
> On Oct. 11, 2014, 12:42 a.m., John Pullokkaran wrote:
> > ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/RelOptHiveTable.java, line 240
> > <https://reviews.apache.org/r/26577/diff/1/?file=717854#file717854line240>
> >
> > This move mess up the code logic flow; i know you just wanted to do check true case first.
> >
> > Also the comment numbers are messed up.
Good catch, sorry, I've reverted the change.
- Lars
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/26577/#review56249
-----------------------------------------------------------
On Oct. 10, 2014, 9:44 p.m., Lars Francke wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/26577/
> -----------------------------------------------------------
>
> (Updated Oct. 10, 2014, 9:44 p.m.)
>
>
> Review request for hive.
>
>
> Bugs: HIVE-8222
> https://issues.apache.org/jira/browse/HIVE-8222
>
>
> Repository: hive-git
>
>
> Description
> -------
>
> Cleans up CBO code
>
>
> Diffs
> -----
>
> ql/src/java/org/apache/hadoop/hive/ql/QueryProperties.java 5dab171
> ql/src/java/org/apache/hadoop/hive/ql/exec/GroupByOperator.java 4632f08
> ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizationContext.java 34f5823
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/ColumnPrunerProcFactory.java ba28bc7
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/HiveDefaultRelMetadataProvider.java e9e052f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/HiveOptiqUtil.java 4bb99d9
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/HiveTypeSystemImpl.java 1bc5a2c
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/OptiqSemanticException.java d2b08fa
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/RelOptHiveTable.java 080d27f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/TraitsUtil.java 9b653d3
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/cost/HiveCost.java 72fe5d6
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/cost/HiveCostUtil.java 7436f12
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/cost/HiveVolcanoPlanner.java 15596bc
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveAggregateRel.java fc19895
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveFilterRel.java 8b85046
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveJoinRel.java 3d6aa84
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveLimitRel.java f8755d0
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveProjectRel.java 7b434ea
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveRel.java 4738c4a
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveSortRel.java f85363d
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveTableScanRel.java bd66459
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveUnionRel.java d34fe95
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/rules/HivePartitionPrunerRule.java ee19a6c
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/rules/HivePushFilterPastJoinRule.java da0f7a4
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/rules/PartitionPruner.java a218eca
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/FilterSelectivityEstimator.java 214a29f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdDistinctRowCount.java 4be57b1
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdRowCount.java 949eb19
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdSelectivity.java 49d2ee5
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdUniqueKeys.java 06ff584
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/ASTBuilder.java 98723a3
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/ASTConverter.java f5a704f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/ExprNodeConverter.java e6e491f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/JoinCondTypeCheckProcFactory.java 406c18e
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/JoinTypeCheckCtx.java fdee66b
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/PlanModifierForASTConv.java 3d90ae7
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/RexNodeConverter.java ec85603
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/SqlFunctionConverter.java 31f906a
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/TypeConverter.java 2c30e9d
> ql/src/java/org/apache/hadoop/hive/ql/parse/RowResolver.java 9c55379
> ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java 5c7f148
> ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java e065983
> ql/src/java/org/apache/hadoop/hive/ql/plan/AggregationDesc.java 1a0cdf8
> ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeConstantDesc.java 8a41577
> ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeDescUtils.java 686befd
>
> Diff: https://reviews.apache.org/r/26577/diff/
>
>
> Testing
> -------
>
>
> Thanks,
>
> Lars Francke
>
>
Re: Review Request 26577: HIVE-8222: Cleanup CBO code
Posted by John Pullokkaran <jp...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/26577/#review56249
-----------------------------------------------------------
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/HiveTypeSystemImpl.java
<https://reviews.apache.org/r/26577/#comment96558>
This change is troublesome and could introduce bugs in future. getMaxNumericScale() is supposed to capture the logic of determining the max scale; currently it just returs max scale; but it may change in the future.
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/HiveTypeSystemImpl.java
<https://reviews.apache.org/r/26577/#comment96559>
Same as above; better to rely on the interface
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/RelOptHiveTable.java
<https://reviews.apache.org/r/26577/#comment96568>
Why this move?
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/RelOptHiveTable.java
<https://reviews.apache.org/r/26577/#comment96570>
This move mess up the code logic flow; i know you just wanted to do check true case first.
Also the comment numbers are messed up.
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/FilterSelectivityEstimator.java
<https://reviews.apache.org/r/26577/#comment96571>
This cast was added for specific reasion.
I understand implicit cast would convert the other one. But adding an explicit cast doesn't cause any issues as well.
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/FilterSelectivityEstimator.java
<https://reviews.apache.org/r/26577/#comment96572>
same as above
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/FilterSelectivityEstimator.java
<https://reviews.apache.org/r/26577/#comment96573>
same as above
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/FilterSelectivityEstimator.java
<https://reviews.apache.org/r/26577/#comment96574>
This move seems less performant; i know compiler might optimize it.
- John Pullokkaran
On Oct. 10, 2014, 9:44 p.m., Lars Francke wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/26577/
> -----------------------------------------------------------
>
> (Updated Oct. 10, 2014, 9:44 p.m.)
>
>
> Review request for hive.
>
>
> Bugs: HIVE-8222
> https://issues.apache.org/jira/browse/HIVE-8222
>
>
> Repository: hive-git
>
>
> Description
> -------
>
> Cleans up CBO code
>
>
> Diffs
> -----
>
> ql/src/java/org/apache/hadoop/hive/ql/QueryProperties.java 5dab171
> ql/src/java/org/apache/hadoop/hive/ql/exec/GroupByOperator.java 4632f08
> ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizationContext.java 34f5823
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/ColumnPrunerProcFactory.java ba28bc7
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/HiveDefaultRelMetadataProvider.java e9e052f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/HiveOptiqUtil.java 4bb99d9
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/HiveTypeSystemImpl.java 1bc5a2c
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/OptiqSemanticException.java d2b08fa
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/RelOptHiveTable.java 080d27f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/TraitsUtil.java 9b653d3
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/cost/HiveCost.java 72fe5d6
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/cost/HiveCostUtil.java 7436f12
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/cost/HiveVolcanoPlanner.java 15596bc
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveAggregateRel.java fc19895
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveFilterRel.java 8b85046
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveJoinRel.java 3d6aa84
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveLimitRel.java f8755d0
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveProjectRel.java 7b434ea
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveRel.java 4738c4a
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveSortRel.java f85363d
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveTableScanRel.java bd66459
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveUnionRel.java d34fe95
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/rules/HivePartitionPrunerRule.java ee19a6c
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/rules/HivePushFilterPastJoinRule.java da0f7a4
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/rules/PartitionPruner.java a218eca
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/FilterSelectivityEstimator.java 214a29f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdDistinctRowCount.java 4be57b1
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdRowCount.java 949eb19
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdSelectivity.java 49d2ee5
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdUniqueKeys.java 06ff584
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/ASTBuilder.java 98723a3
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/ASTConverter.java f5a704f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/ExprNodeConverter.java e6e491f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/JoinCondTypeCheckProcFactory.java 406c18e
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/JoinTypeCheckCtx.java fdee66b
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/PlanModifierForASTConv.java 3d90ae7
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/RexNodeConverter.java ec85603
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/SqlFunctionConverter.java 31f906a
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/TypeConverter.java 2c30e9d
> ql/src/java/org/apache/hadoop/hive/ql/parse/RowResolver.java 9c55379
> ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java 5c7f148
> ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java e065983
> ql/src/java/org/apache/hadoop/hive/ql/plan/AggregationDesc.java 1a0cdf8
> ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeConstantDesc.java 8a41577
> ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeDescUtils.java 686befd
>
> Diff: https://reviews.apache.org/r/26577/diff/
>
>
> Testing
> -------
>
>
> Thanks,
>
> Lars Francke
>
>
Re: Review Request 26577: HIVE-8222: Cleanup CBO code
Posted by Lars Francke <as...@lars-francke.de>.
> On Oct. 11, 2014, 12:45 a.m., John Pullokkaran wrote:
> > ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeDescUtils.java, line 406
> > <https://reviews.apache.org/r/26577/diff/1/?file=717890#file717890line406>
> >
> > Please don't remove type casts in the code.
> > If you wanto address that adress it seperately.
But the casts aren't needed and don't add anything. `getExprNodeColumnDesc` expects `ExprNodeDesc` so there is no need to first cast it to something more specific like `ExprNodeColumnListDesc`. Two branches of the if-statement can even be collapsed as they do the same:
````
} else if (exprDesc instanceof ExprNodeColumnListDesc
|| exprDesc instanceof ExprNodeGenericFuncDesc) {
for (ExprNodeDesc child : exprDesc.getChildren()) {
getExprNodeColumnDesc(child, hashCodeTocolumnDescMap);
}
````
If you feel this is wrong I'll of course revert the change.
- Lars
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/26577/#review56267
-----------------------------------------------------------
On Oct. 10, 2014, 9:44 p.m., Lars Francke wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/26577/
> -----------------------------------------------------------
>
> (Updated Oct. 10, 2014, 9:44 p.m.)
>
>
> Review request for hive.
>
>
> Bugs: HIVE-8222
> https://issues.apache.org/jira/browse/HIVE-8222
>
>
> Repository: hive-git
>
>
> Description
> -------
>
> Cleans up CBO code
>
>
> Diffs
> -----
>
> ql/src/java/org/apache/hadoop/hive/ql/QueryProperties.java 5dab171
> ql/src/java/org/apache/hadoop/hive/ql/exec/GroupByOperator.java 4632f08
> ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizationContext.java 34f5823
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/ColumnPrunerProcFactory.java ba28bc7
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/HiveDefaultRelMetadataProvider.java e9e052f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/HiveOptiqUtil.java 4bb99d9
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/HiveTypeSystemImpl.java 1bc5a2c
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/OptiqSemanticException.java d2b08fa
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/RelOptHiveTable.java 080d27f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/TraitsUtil.java 9b653d3
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/cost/HiveCost.java 72fe5d6
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/cost/HiveCostUtil.java 7436f12
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/cost/HiveVolcanoPlanner.java 15596bc
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveAggregateRel.java fc19895
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveFilterRel.java 8b85046
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveJoinRel.java 3d6aa84
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveLimitRel.java f8755d0
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveProjectRel.java 7b434ea
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveRel.java 4738c4a
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveSortRel.java f85363d
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveTableScanRel.java bd66459
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveUnionRel.java d34fe95
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/rules/HivePartitionPrunerRule.java ee19a6c
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/rules/HivePushFilterPastJoinRule.java da0f7a4
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/rules/PartitionPruner.java a218eca
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/FilterSelectivityEstimator.java 214a29f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdDistinctRowCount.java 4be57b1
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdRowCount.java 949eb19
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdSelectivity.java 49d2ee5
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdUniqueKeys.java 06ff584
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/ASTBuilder.java 98723a3
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/ASTConverter.java f5a704f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/ExprNodeConverter.java e6e491f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/JoinCondTypeCheckProcFactory.java 406c18e
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/JoinTypeCheckCtx.java fdee66b
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/PlanModifierForASTConv.java 3d90ae7
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/RexNodeConverter.java ec85603
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/SqlFunctionConverter.java 31f906a
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/TypeConverter.java 2c30e9d
> ql/src/java/org/apache/hadoop/hive/ql/parse/RowResolver.java 9c55379
> ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java 5c7f148
> ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java e065983
> ql/src/java/org/apache/hadoop/hive/ql/plan/AggregationDesc.java 1a0cdf8
> ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeConstantDesc.java 8a41577
> ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeDescUtils.java 686befd
>
> Diff: https://reviews.apache.org/r/26577/diff/
>
>
> Testing
> -------
>
>
> Thanks,
>
> Lars Francke
>
>
Re: Review Request 26577: HIVE-8222: Cleanup CBO code
Posted by John Pullokkaran <jp...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/26577/#review56267
-----------------------------------------------------------
ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeDescUtils.java
<https://reviews.apache.org/r/26577/#comment96575>
Please don't remove type casts in the code.
If you wanto address that adress it seperately.
- John Pullokkaran
On Oct. 10, 2014, 9:44 p.m., Lars Francke wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/26577/
> -----------------------------------------------------------
>
> (Updated Oct. 10, 2014, 9:44 p.m.)
>
>
> Review request for hive.
>
>
> Bugs: HIVE-8222
> https://issues.apache.org/jira/browse/HIVE-8222
>
>
> Repository: hive-git
>
>
> Description
> -------
>
> Cleans up CBO code
>
>
> Diffs
> -----
>
> ql/src/java/org/apache/hadoop/hive/ql/QueryProperties.java 5dab171
> ql/src/java/org/apache/hadoop/hive/ql/exec/GroupByOperator.java 4632f08
> ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizationContext.java 34f5823
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/ColumnPrunerProcFactory.java ba28bc7
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/HiveDefaultRelMetadataProvider.java e9e052f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/HiveOptiqUtil.java 4bb99d9
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/HiveTypeSystemImpl.java 1bc5a2c
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/OptiqSemanticException.java d2b08fa
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/RelOptHiveTable.java 080d27f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/TraitsUtil.java 9b653d3
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/cost/HiveCost.java 72fe5d6
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/cost/HiveCostUtil.java 7436f12
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/cost/HiveVolcanoPlanner.java 15596bc
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveAggregateRel.java fc19895
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveFilterRel.java 8b85046
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveJoinRel.java 3d6aa84
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveLimitRel.java f8755d0
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveProjectRel.java 7b434ea
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveRel.java 4738c4a
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveSortRel.java f85363d
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveTableScanRel.java bd66459
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveUnionRel.java d34fe95
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/rules/HivePartitionPrunerRule.java ee19a6c
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/rules/HivePushFilterPastJoinRule.java da0f7a4
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/rules/PartitionPruner.java a218eca
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/FilterSelectivityEstimator.java 214a29f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdDistinctRowCount.java 4be57b1
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdRowCount.java 949eb19
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdSelectivity.java 49d2ee5
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdUniqueKeys.java 06ff584
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/ASTBuilder.java 98723a3
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/ASTConverter.java f5a704f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/ExprNodeConverter.java e6e491f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/JoinCondTypeCheckProcFactory.java 406c18e
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/JoinTypeCheckCtx.java fdee66b
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/PlanModifierForASTConv.java 3d90ae7
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/RexNodeConverter.java ec85603
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/SqlFunctionConverter.java 31f906a
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/TypeConverter.java 2c30e9d
> ql/src/java/org/apache/hadoop/hive/ql/parse/RowResolver.java 9c55379
> ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java 5c7f148
> ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java e065983
> ql/src/java/org/apache/hadoop/hive/ql/plan/AggregationDesc.java 1a0cdf8
> ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeConstantDesc.java 8a41577
> ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeDescUtils.java 686befd
>
> Diff: https://reviews.apache.org/r/26577/diff/
>
>
> Testing
> -------
>
>
> Thanks,
>
> Lars Francke
>
>
Re: Review Request 26577: HIVE-8222: Cleanup CBO code
Posted by John Pullokkaran <jp...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/26577/#review56777
-----------------------------------------------------------
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdRowCount.java
<https://reviews.apache.org/r/26577/#comment97179>
This change seems to be messing with the logic.
If leftISKey then regardless of right is a key or not you want to use 0.
If leftIsKey use 0;
If left is not key and right is key then use 1;
If left is not key and right is not key then use -1;
- John Pullokkaran
On Oct. 11, 2014, 8:11 a.m., Lars Francke wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/26577/
> -----------------------------------------------------------
>
> (Updated Oct. 11, 2014, 8:11 a.m.)
>
>
> Review request for hive.
>
>
> Bugs: HIVE-8222
> https://issues.apache.org/jira/browse/HIVE-8222
>
>
> Repository: hive-git
>
>
> Description
> -------
>
> Cleans up CBO code
>
>
> Diffs
> -----
>
> ql/src/java/org/apache/hadoop/hive/ql/QueryProperties.java 5dab171
> ql/src/java/org/apache/hadoop/hive/ql/exec/GroupByOperator.java 4632f08
> ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizationContext.java 34f5823
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/ColumnPrunerProcFactory.java ba28bc7
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/HiveDefaultRelMetadataProvider.java e9e052f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/HiveOptiqUtil.java 4bb99d9
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/OptiqSemanticException.java d2b08fa
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/RelOptHiveTable.java 080d27f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/TraitsUtil.java 9b653d3
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/cost/HiveCost.java 72fe5d6
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/cost/HiveCostUtil.java 7436f12
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/cost/HiveVolcanoPlanner.java 15596bc
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveAggregateRel.java fc19895
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveFilterRel.java 8b85046
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveJoinRel.java 3d6aa84
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveLimitRel.java f8755d0
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveProjectRel.java 7b434ea
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveRel.java 4738c4a
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveSortRel.java f85363d
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveTableScanRel.java bd66459
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveUnionRel.java d34fe95
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/rules/HivePartitionPrunerRule.java ee19a6c
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/rules/HivePushFilterPastJoinRule.java da0f7a4
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/rules/PartitionPruner.java a218eca
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/FilterSelectivityEstimator.java 214a29f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdDistinctRowCount.java 4be57b1
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdRowCount.java 949eb19
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdSelectivity.java 49d2ee5
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdUniqueKeys.java 06ff584
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/ASTBuilder.java 98723a3
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/ASTConverter.java f5a704f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/ExprNodeConverter.java e6e491f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/JoinCondTypeCheckProcFactory.java 406c18e
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/JoinTypeCheckCtx.java fdee66b
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/PlanModifierForASTConv.java 3d90ae7
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/RexNodeConverter.java ec85603
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/SqlFunctionConverter.java 31f906a
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/TypeConverter.java 2c30e9d
> ql/src/java/org/apache/hadoop/hive/ql/parse/RowResolver.java 9c55379
> ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java 48d334a
> ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java e065983
> ql/src/java/org/apache/hadoop/hive/ql/plan/AggregationDesc.java 1a0cdf8
> ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeConstantDesc.java 8a41577
> ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeDescUtils.java 686befd
>
> Diff: https://reviews.apache.org/r/26577/diff/
>
>
> Testing
> -------
>
>
> Thanks,
>
> Lars Francke
>
>
Re: Review Request 26577: HIVE-8222: Cleanup CBO code
Posted by John Pullokkaran <jp...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/26577/#review56793
-----------------------------------------------------------
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdRowCount.java
<https://reviews.apache.org/r/26577/#comment97208>
Does Hive have coding convention?
Is your style check enforcing them or you created a new one?
Ex: adding spaces to before & after op in arithmetic expressions
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/JoinCondTypeCheckProcFactory.java
<https://reviews.apache.org/r/26577/#comment97214>
Seems you have introduced a tab?
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/PlanModifierForASTConv.java
<https://reviews.apache.org/r/26577/#comment97215>
in the latest code this change is invalid.
Please rebase the patch
- John Pullokkaran
On Oct. 11, 2014, 8:11 a.m., Lars Francke wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/26577/
> -----------------------------------------------------------
>
> (Updated Oct. 11, 2014, 8:11 a.m.)
>
>
> Review request for hive.
>
>
> Bugs: HIVE-8222
> https://issues.apache.org/jira/browse/HIVE-8222
>
>
> Repository: hive-git
>
>
> Description
> -------
>
> Cleans up CBO code
>
>
> Diffs
> -----
>
> ql/src/java/org/apache/hadoop/hive/ql/QueryProperties.java 5dab171
> ql/src/java/org/apache/hadoop/hive/ql/exec/GroupByOperator.java 4632f08
> ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizationContext.java 34f5823
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/ColumnPrunerProcFactory.java ba28bc7
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/HiveDefaultRelMetadataProvider.java e9e052f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/HiveOptiqUtil.java 4bb99d9
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/OptiqSemanticException.java d2b08fa
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/RelOptHiveTable.java 080d27f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/TraitsUtil.java 9b653d3
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/cost/HiveCost.java 72fe5d6
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/cost/HiveCostUtil.java 7436f12
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/cost/HiveVolcanoPlanner.java 15596bc
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveAggregateRel.java fc19895
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveFilterRel.java 8b85046
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveJoinRel.java 3d6aa84
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveLimitRel.java f8755d0
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveProjectRel.java 7b434ea
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveRel.java 4738c4a
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveSortRel.java f85363d
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveTableScanRel.java bd66459
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveUnionRel.java d34fe95
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/rules/HivePartitionPrunerRule.java ee19a6c
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/rules/HivePushFilterPastJoinRule.java da0f7a4
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/rules/PartitionPruner.java a218eca
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/FilterSelectivityEstimator.java 214a29f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdDistinctRowCount.java 4be57b1
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdRowCount.java 949eb19
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdSelectivity.java 49d2ee5
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdUniqueKeys.java 06ff584
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/ASTBuilder.java 98723a3
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/ASTConverter.java f5a704f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/ExprNodeConverter.java e6e491f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/JoinCondTypeCheckProcFactory.java 406c18e
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/JoinTypeCheckCtx.java fdee66b
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/PlanModifierForASTConv.java 3d90ae7
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/RexNodeConverter.java ec85603
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/SqlFunctionConverter.java 31f906a
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/TypeConverter.java 2c30e9d
> ql/src/java/org/apache/hadoop/hive/ql/parse/RowResolver.java 9c55379
> ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java 48d334a
> ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java e065983
> ql/src/java/org/apache/hadoop/hive/ql/plan/AggregationDesc.java 1a0cdf8
> ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeConstantDesc.java 8a41577
> ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeDescUtils.java 686befd
>
> Diff: https://reviews.apache.org/r/26577/diff/
>
>
> Testing
> -------
>
>
> Thanks,
>
> Lars Francke
>
>
Re: Review Request 26577: HIVE-8222: Cleanup CBO code
Posted by Mohit Sabharwal <mo...@cloudera.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/26577/#review56307
-----------------------------------------------------------
Thanks for the cleanup! Just couple of nits...
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/HiveOptiqUtil.java
<https://reviews.apache.org/r/26577/#comment96621>
nit: I wouldn't remove @param and @return entries from javadoc. I find myself filling empty descriptions if the param field exists. Removing these is not encouraging anyone to add a description :)
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveTableScanRel.java
<https://reviews.apache.org/r/26577/#comment96623>
nit: extra line
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/rules/PartitionPruner.java
<https://reviews.apache.org/r/26577/#comment96624>
same here.
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/FilterSelectivityEstimator.java
<https://reviews.apache.org/r/26577/#comment96625>
same
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/FilterSelectivityEstimator.java
<https://reviews.apache.org/r/26577/#comment96626>
same
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/FilterSelectivityEstimator.java
<https://reviews.apache.org/r/26577/#comment96627>
same
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/FilterSelectivityEstimator.java
<https://reviews.apache.org/r/26577/#comment96628>
same
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdRowCount.java
<https://reviews.apache.org/r/26577/#comment96629>
We can get rid of this, since default constructor is auto generated for this class. Unless there is a good reason to keep this protected.
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdSelectivity.java
<https://reviews.apache.org/r/26577/#comment96630>
same
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdSelectivity.java
<https://reviews.apache.org/r/26577/#comment96631>
same
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/TypeConverter.java
<https://reviews.apache.org/r/26577/#comment96632>
nit: Missing private constructor.
ql/src/java/org/apache/hadoop/hive/ql/parse/RowResolver.java
<https://reviews.apache.org/r/26577/#comment96633>
same
- Mohit Sabharwal
On Oct. 11, 2014, 8:11 a.m., Lars Francke wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/26577/
> -----------------------------------------------------------
>
> (Updated Oct. 11, 2014, 8:11 a.m.)
>
>
> Review request for hive.
>
>
> Bugs: HIVE-8222
> https://issues.apache.org/jira/browse/HIVE-8222
>
>
> Repository: hive-git
>
>
> Description
> -------
>
> Cleans up CBO code
>
>
> Diffs
> -----
>
> ql/src/java/org/apache/hadoop/hive/ql/QueryProperties.java 5dab171
> ql/src/java/org/apache/hadoop/hive/ql/exec/GroupByOperator.java 4632f08
> ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizationContext.java 34f5823
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/ColumnPrunerProcFactory.java ba28bc7
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/HiveDefaultRelMetadataProvider.java e9e052f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/HiveOptiqUtil.java 4bb99d9
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/OptiqSemanticException.java d2b08fa
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/RelOptHiveTable.java 080d27f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/TraitsUtil.java 9b653d3
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/cost/HiveCost.java 72fe5d6
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/cost/HiveCostUtil.java 7436f12
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/cost/HiveVolcanoPlanner.java 15596bc
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveAggregateRel.java fc19895
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveFilterRel.java 8b85046
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveJoinRel.java 3d6aa84
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveLimitRel.java f8755d0
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveProjectRel.java 7b434ea
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveRel.java 4738c4a
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveSortRel.java f85363d
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveTableScanRel.java bd66459
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveUnionRel.java d34fe95
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/rules/HivePartitionPrunerRule.java ee19a6c
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/rules/HivePushFilterPastJoinRule.java da0f7a4
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/rules/PartitionPruner.java a218eca
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/FilterSelectivityEstimator.java 214a29f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdDistinctRowCount.java 4be57b1
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdRowCount.java 949eb19
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdSelectivity.java 49d2ee5
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdUniqueKeys.java 06ff584
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/ASTBuilder.java 98723a3
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/ASTConverter.java f5a704f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/ExprNodeConverter.java e6e491f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/JoinCondTypeCheckProcFactory.java 406c18e
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/JoinTypeCheckCtx.java fdee66b
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/PlanModifierForASTConv.java 3d90ae7
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/RexNodeConverter.java ec85603
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/SqlFunctionConverter.java 31f906a
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/TypeConverter.java 2c30e9d
> ql/src/java/org/apache/hadoop/hive/ql/parse/RowResolver.java 9c55379
> ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java 48d334a
> ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java e065983
> ql/src/java/org/apache/hadoop/hive/ql/plan/AggregationDesc.java 1a0cdf8
> ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeConstantDesc.java 8a41577
> ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeDescUtils.java 686befd
>
> Diff: https://reviews.apache.org/r/26577/diff/
>
>
> Testing
> -------
>
>
> Thanks,
>
> Lars Francke
>
>
Re: Review Request 26577: HIVE-8222: Cleanup CBO code
Posted by Lars Francke <as...@lars-francke.de>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/26577/#review56285
-----------------------------------------------------------
ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
<https://reviews.apache.org/r/26577/#comment96585>
These were unrelated changes to CBO so I reverted them again.
- Lars Francke
On Oct. 11, 2014, 8:11 a.m., Lars Francke wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/26577/
> -----------------------------------------------------------
>
> (Updated Oct. 11, 2014, 8:11 a.m.)
>
>
> Review request for hive.
>
>
> Bugs: HIVE-8222
> https://issues.apache.org/jira/browse/HIVE-8222
>
>
> Repository: hive-git
>
>
> Description
> -------
>
> Cleans up CBO code
>
>
> Diffs
> -----
>
> ql/src/java/org/apache/hadoop/hive/ql/QueryProperties.java 5dab171
> ql/src/java/org/apache/hadoop/hive/ql/exec/GroupByOperator.java 4632f08
> ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizationContext.java 34f5823
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/ColumnPrunerProcFactory.java ba28bc7
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/HiveDefaultRelMetadataProvider.java e9e052f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/HiveOptiqUtil.java 4bb99d9
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/OptiqSemanticException.java d2b08fa
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/RelOptHiveTable.java 080d27f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/TraitsUtil.java 9b653d3
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/cost/HiveCost.java 72fe5d6
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/cost/HiveCostUtil.java 7436f12
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/cost/HiveVolcanoPlanner.java 15596bc
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveAggregateRel.java fc19895
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveFilterRel.java 8b85046
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveJoinRel.java 3d6aa84
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveLimitRel.java f8755d0
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveProjectRel.java 7b434ea
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveRel.java 4738c4a
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveSortRel.java f85363d
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveTableScanRel.java bd66459
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveUnionRel.java d34fe95
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/rules/HivePartitionPrunerRule.java ee19a6c
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/rules/HivePushFilterPastJoinRule.java da0f7a4
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/rules/PartitionPruner.java a218eca
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/FilterSelectivityEstimator.java 214a29f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdDistinctRowCount.java 4be57b1
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdRowCount.java 949eb19
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdSelectivity.java 49d2ee5
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdUniqueKeys.java 06ff584
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/ASTBuilder.java 98723a3
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/ASTConverter.java f5a704f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/ExprNodeConverter.java e6e491f
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/JoinCondTypeCheckProcFactory.java 406c18e
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/JoinTypeCheckCtx.java fdee66b
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/PlanModifierForASTConv.java 3d90ae7
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/RexNodeConverter.java ec85603
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/SqlFunctionConverter.java 31f906a
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/TypeConverter.java 2c30e9d
> ql/src/java/org/apache/hadoop/hive/ql/parse/RowResolver.java 9c55379
> ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java 48d334a
> ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java e065983
> ql/src/java/org/apache/hadoop/hive/ql/plan/AggregationDesc.java 1a0cdf8
> ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeConstantDesc.java 8a41577
> ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeDescUtils.java 686befd
>
> Diff: https://reviews.apache.org/r/26577/diff/
>
>
> Testing
> -------
>
>
> Thanks,
>
> Lars Francke
>
>
Re: Review Request 26577: HIVE-8222: Cleanup CBO code
Posted by Lars Francke <as...@lars-francke.de>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/26577/
-----------------------------------------------------------
(Updated Oct. 11, 2014, 8:11 a.m.)
Review request for hive.
Bugs: HIVE-8222
https://issues.apache.org/jira/browse/HIVE-8222
Repository: hive-git
Description
-------
Cleans up CBO code
Diffs (updated)
-----
ql/src/java/org/apache/hadoop/hive/ql/QueryProperties.java 5dab171
ql/src/java/org/apache/hadoop/hive/ql/exec/GroupByOperator.java 4632f08
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizationContext.java 34f5823
ql/src/java/org/apache/hadoop/hive/ql/optimizer/ColumnPrunerProcFactory.java ba28bc7
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/HiveDefaultRelMetadataProvider.java e9e052f
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/HiveOptiqUtil.java 4bb99d9
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/OptiqSemanticException.java d2b08fa
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/RelOptHiveTable.java 080d27f
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/TraitsUtil.java 9b653d3
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/cost/HiveCost.java 72fe5d6
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/cost/HiveCostUtil.java 7436f12
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/cost/HiveVolcanoPlanner.java 15596bc
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveAggregateRel.java fc19895
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveFilterRel.java 8b85046
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveJoinRel.java 3d6aa84
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveLimitRel.java f8755d0
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveProjectRel.java 7b434ea
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveRel.java 4738c4a
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveSortRel.java f85363d
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveTableScanRel.java bd66459
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/reloperators/HiveUnionRel.java d34fe95
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/rules/HivePartitionPrunerRule.java ee19a6c
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/rules/HivePushFilterPastJoinRule.java da0f7a4
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/rules/PartitionPruner.java a218eca
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/FilterSelectivityEstimator.java 214a29f
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdDistinctRowCount.java 4be57b1
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdRowCount.java 949eb19
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdSelectivity.java 49d2ee5
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/stats/HiveRelMdUniqueKeys.java 06ff584
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/ASTBuilder.java 98723a3
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/ASTConverter.java f5a704f
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/ExprNodeConverter.java e6e491f
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/JoinCondTypeCheckProcFactory.java 406c18e
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/JoinTypeCheckCtx.java fdee66b
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/PlanModifierForASTConv.java 3d90ae7
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/RexNodeConverter.java ec85603
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/SqlFunctionConverter.java 31f906a
ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/TypeConverter.java 2c30e9d
ql/src/java/org/apache/hadoop/hive/ql/parse/RowResolver.java 9c55379
ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java 48d334a
ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java e065983
ql/src/java/org/apache/hadoop/hive/ql/plan/AggregationDesc.java 1a0cdf8
ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeConstantDesc.java 8a41577
ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeDescUtils.java 686befd
Diff: https://reviews.apache.org/r/26577/diff/
Testing
-------
Thanks,
Lars Francke