-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/69019/#review210259
-----------------------------------------------------------




common/src/java/org/apache/hadoop/hive/common/type/HiveChar.java
Lines 37 (patched)
<https://reviews.apache.org/r/69019/#comment294905>

    Could we avoid adding this new constructor and let other logic in Hive 
handle this case?



ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HivePointLookupOptimizerRule.java
Lines 119 (patched)
<https://reviews.apache.org/r/69019/#comment294906>

    Projections -> ProjectionExpressions



ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HivePointLookupOptimizerRule.java
Lines 142 (patched)
<https://reviews.apache.org/r/69019/#comment294909>

    You can move the project copy into the _copyNode_ method so we do not have 
(ugly) return null over there.



ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HivePointLookupOptimizerRule.java
Line 148 (original), 174 (patched)
<https://reviews.apache.org/r/69019/#comment294907>

    Can change the numbering, i.e., 3.



ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HivePointLookupOptimizerRule.java
Lines 239 (patched)
<https://reviews.apache.org/r/69019/#comment294911>

    Less verbose:
    Comparator<RexNodeRef> COMPARATOR = 
                (RexNodeRef o1, RexNodeRef o2) -> 
o1.node.toString().compareTo(o2.node.toString());



ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HivePointLookupOptimizerRule.java
Line 258 (original), 345 (patched)
<https://reviews.apache.org/r/69019/#comment294912>

    Lambda?



ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HivePointLookupOptimizerRule.java
Lines 459 (patched)
<https://reviews.apache.org/r/69019/#comment294913>

    This is called only once, you could just make the transformation in-place 
instead of creating new method.



ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java
Lines 1206 (patched)
<https://reviews.apache.org/r/69019/#comment294914>

    Since we transform IN into OR when we are not in CBO, do we still need this 
special handling for nulls?



ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java
Line 1261 (original), 1289 (patched)
<https://reviews.apache.org/r/69019/#comment294915>

    Can we move the rewriting logic into new class? TypeCheckProcFactoryUtils 
or anything alike.



ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java
Lines 1372 (patched)
<https://reviews.apache.org/r/69019/#comment294916>

    Is there a _isConstantOrColumn1_? What is the difference?



ql/src/test/results/clientpositive/join47.q.out
Line 709 (original), 709 (patched)
<https://reviews.apache.org/r/69019/#comment294918>

    Shouldn't we be able to close this one into an IN clause after latest in 
HivePointLookupOptimizer?



ql/src/test/results/clientpositive/mapjoin47.q.out
Line 751 (original), 751 (patched)
<https://reviews.apache.org/r/69019/#comment294919>

    same as with join47.q



ql/src/test/results/clientpositive/pcs.q.out
Lines 663 (patched)
<https://reviews.apache.org/r/69019/#comment294920>

    Propagation for key happens now? Cool


- Jesús Camacho Rodríguez


On Oct. 30, 2018, 10:32 p.m., Zoltan Haindrich wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/69019/
> -----------------------------------------------------------
> 
> (Updated Oct. 30, 2018, 10:32 p.m.)
> 
> 
> Review request for hive, Ashutosh Chauhan, Jesús Camacho Rodríguez, and 
> Vineet Garg.
> 
> 
> Bugs: HIVE-20617
>     https://issues.apache.org/jira/browse/HIVE-20617
> 
> 
> Repository: hive-git
> 
> 
> Description
> -------
> 
> For IN expressions the types were never corrected; and pointlookupoptimizer 
> was probably leaving behind fields already which were uncomparable; 
> HIVE-20296 exposed it further by changing the minimal number from  32 to 2.
> 
> This change generalizes the retyping of constants to also run it for the IN 
> operator ; and also for struct-s.
> 
> 
> Diffs
> -----
> 
>   common/src/java/org/apache/hadoop/hive/common/type/HiveChar.java 
> 29dc06dca1a 
>   ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java e7d71595c7a 
>   
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HivePointLookupOptimizerRule.java
>  04800cca91b 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java 82e975a50de 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckCtx.java 1b56ecd0440 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java 
> 4968d16876c 
>   ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeDescUtils.java 
> c274fd7cc9b 
>   ql/src/test/queries/clientpositive/groupby_multi_single_reducer3.q 
> 94aea35c422 
>   ql/src/test/queries/clientpositive/in_typecheck_char.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/in_typecheck_pointlook.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/in_typecheck_varchar.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/in_typecheck_x1.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/join45X.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/pcs.q 2e7eff472b5 
>   ql/src/test/queries/clientpositive/vector_struct_in.q 49a9374bd13 
>   ql/src/test/results/clientpositive/alter_partition_coltype.q.out 
> f6c3c5642ea 
>   ql/src/test/results/clientpositive/in_typecheck_char.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/in_typecheck_pointlook.q.out 
> PRE-CREATION 
>   ql/src/test/results/clientpositive/in_typecheck_varchar.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/in_typecheck_x1.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/infer_const_type.q.out e1d7de54225 
>   ql/src/test/results/clientpositive/join45.q.out 47aaf7d0abc 
>   ql/src/test/results/clientpositive/join45X.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/join47.q.out 4d9e937815e 
>   ql/src/test/results/clientpositive/llap/dec_str.q.out 554031e952e 
>   ql/src/test/results/clientpositive/llap/explainuser_1.q.out f240468558e 
>   ql/src/test/results/clientpositive/llap/lineage3.q.out 9bec309c9c9 
>   ql/src/test/results/clientpositive/llap/vectorization_13.q.out 4ce654f960b 
>   ql/src/test/results/clientpositive/llap/vectorization_6.q.out a2f730beca2 
>   ql/src/test/results/clientpositive/llap/vectorization_8.q.out 21ce7b8ebd0 
>   ql/src/test/results/clientpositive/llap/vectorization_short_regress.q.out 
> 7f1c6a295e1 
>   ql/src/test/results/clientpositive/mapjoin47.q.out 294dd69de5c 
>   ql/src/test/results/clientpositive/parquet_vectorization_13.q.out 
> 0efce98b555 
>   ql/src/test/results/clientpositive/parquet_vectorization_6.q.out 
> 0bb68883640 
>   ql/src/test/results/clientpositive/parquet_vectorization_8.q.out 
> 957bd7b264c 
>   ql/src/test/results/clientpositive/pcs.q.out 4a89fb0787e 
>   ql/src/test/results/clientpositive/ppd_udf_col.q.out 814fb5afcfd 
>   ql/src/test/results/clientpositive/spark/cbo_simple_select.q.out 
> acf91bf1787 
>   ql/src/test/results/clientpositive/spark/parquet_vectorization_13.q.out 
> 38122393439 
>   ql/src/test/results/clientpositive/spark/parquet_vectorization_6.q.out 
> 6108457aad3 
>   ql/src/test/results/clientpositive/spark/parquet_vectorization_8.q.out 
> 3352dedc584 
>   ql/src/test/results/clientpositive/spark/spark_explainuser_1.q.out 
> f5a4c9ad861 
>   ql/src/test/results/clientpositive/spark/subquery_scalar.q.out b3252f54158 
>   ql/src/test/results/clientpositive/spark/vectorization_13.q.out 34ec9c42dd3 
>   ql/src/test/results/clientpositive/spark/vectorization_6.q.out 5679bb8cfa4 
>   ql/src/test/results/clientpositive/spark/vectorization_short_regress.q.out 
> 231dea6de3e 
>   ql/src/test/results/clientpositive/vector_struct_in.q.out 546ef02fa42 
>   ql/src/test/results/clientpositive/vectorization_13.q.out 8897f8427ff 
>   ql/src/test/results/clientpositive/vectorization_6.q.out 8dedb63e7da 
>   ql/src/test/results/clientpositive/vectorization_8.q.out d81df76a2f6 
> 
> 
> Diff: https://reviews.apache.org/r/69019/diff/4/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Zoltan Haindrich
> 
>

Reply via email to