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