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

(Updated Dec. 11, 2016, 2:30 a.m.)


Review request for hive and Ashutosh Chauhan.


Changes
-------

Fixed calcite's subquery remove rule and de-correlation logic and support NOT 
IN queries. Also added more test


Bugs: HIVE-15192
    https://issues.apache.org/jira/browse/HIVE-15192


Repository: hive-git


Description
-------

This patch is 1st phase of getting rid of Hive's subquery transformation and 
de-corelation logic and leverage Calcite's functionality to plan sub-queries.

Known issues with this patch
* Few return path tests are failing and are disabled with this patch.
* Semi-join optimization (HIVE-15227) is disabled currently as it doesn't work 
with this patch.


Diffs (updated)
-----

  common/src/java/org/apache/hadoop/hive/conf/HiveConf.java 9064e49 
  itests/src/test/resources/testconfiguration.properties 27ece51 
  ql/src/java/org/apache/hadoop/hive/ql/lib/SubQueryWalker.java PRE-CREATION 
  ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveRelShuttle.java 
PRE-CREATION 
  
ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveRelShuttleImpl.java 
PRE-CREATION 
  
ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveReplicatedRelBuilder.java
 PRE-CREATION 
  
ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/reloperators/HiveFilter.java
 0410c91 
  
ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/reloperators/HiveJoin.java
 ba9483e 
  
ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/reloperators/HiveProject.java
 3e0a9a6 
  
ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveRelDecorrelator.java
 PRE-CREATION 
  
ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveSubQueryRemoveRule.java
 PRE-CREATION 
  
ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/HiveOpConverter.java
 d494c9f 
  
ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/RexNodeConverter.java
 f8fb475 
  ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java f1f3bf9 
  ql/src/java/org/apache/hadoop/hive/ql/parse/QBSubQuery.java 3458fb6 
  ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java 42a7ab9 
  ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckCtx.java 02896ff 
  ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java ace3eaf 
  ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeSubQueryDesc.java 
PRE-CREATION 
  ql/src/test/queries/clientnegative/subquery_nested_subquery.q  
  ql/src/test/queries/clientnegative/subquery_restrictions.q PRE-CREATION 
  ql/src/test/queries/clientnegative/subquery_shared_alias.q  
  ql/src/test/queries/clientpositive/cbo_rp_auto_join1.q cbfb5d5 
  ql/src/test/queries/clientpositive/join31.q c79105f 
  ql/src/test/queries/clientpositive/multiMapJoin2.q cf5dbb0 
  ql/src/test/queries/clientpositive/semijoin5.q 3e7c20a 
  ql/src/test/queries/clientpositive/subquery_in.q c01ae70 
  ql/src/test/queries/clientpositive/subquery_notin.q 3f4fb7f 
  ql/src/test/queries/clientpositive/subquery_notin_having.q 05148df 
  ql/src/test/results/clientnegative/subquery_in_groupby.q.out 809bb0a 
  ql/src/test/results/clientnegative/subquery_in_select.q.out 3d74132 
  ql/src/test/results/clientnegative/subquery_nested_subquery.q.out 140b093 
  ql/src/test/results/clientnegative/subquery_restrictions.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/constant_prop_3.q.out 58f1065 
  ql/src/test/results/clientpositive/constprog_partitioner.q.out d1016ad 
  ql/src/test/results/clientpositive/llap/cbo_rp_subq_in.q.out f6bfad2 
  ql/src/test/results/clientpositive/llap/dynamic_partition_pruning.q.out 
f993cf0 
  ql/src/test/results/clientpositive/llap/explainuser_1.q.out 70ec02f 
  ql/src/test/results/clientpositive/llap/lineage3.q.out 1a532da 
  ql/src/test/results/clientpositive/llap/subquery_exists.q.out 1a006d8 
  ql/src/test/results/clientpositive/llap/subquery_in.q.out 321f1cc 
  ql/src/test/results/clientpositive/llap/subquery_nested_subquery.q.out 
PRE-CREATION 
  ql/src/test/results/clientpositive/llap/subquery_notin.q.out 3da1acb 
  ql/src/test/results/clientpositive/llap/subquery_shared_alias.q.out 
PRE-CREATION 
  ql/src/test/results/clientpositive/llap/subquery_views.q.out 35e80ae 
  ql/src/test/results/clientpositive/llap/vector_groupby_mapjoin.q.out ff658d7 
  ql/src/test/results/clientpositive/llap/vector_mapjoin_reduce.q.out a075662 
  
ql/src/test/results/clientpositive/llap/vectorized_dynamic_partition_pruning.q.out
 76c8404 
  ql/src/test/results/clientpositive/masking_3.q.out 1925dce 
  ql/src/test/results/clientpositive/masking_4.q.out 7e923e8 
  ql/src/test/results/clientpositive/perf/query45.q.out 7bc137c 
  ql/src/test/results/clientpositive/perf/query70.q.out 611af74 
  ql/src/test/results/clientpositive/semijoin4.q.out 3c065a9 
  ql/src/test/results/clientpositive/semijoin5.q.out 63b477c 
  ql/src/test/results/clientpositive/spark/constprog_partitioner.q.out 567c6d3 
  ql/src/test/results/clientpositive/spark/subquery_exists.q.out b58fcbe 
  ql/src/test/results/clientpositive/spark/subquery_in.q.out 21a48ec 
  ql/src/test/results/clientpositive/spark/vector_mapjoin_reduce.q.out 012c3eb 
  ql/src/test/results/clientpositive/subq_where_serialization.q.out f689651 
  ql/src/test/results/clientpositive/subquery_exists.q.out 86f9089 
  ql/src/test/results/clientpositive/subquery_exists_having.q.out 8861c82 
  ql/src/test/results/clientpositive/subquery_in_having.q.out 854aa36 
  ql/src/test/results/clientpositive/subquery_notexists.q.out ede7855 
  ql/src/test/results/clientpositive/subquery_notexists_having.q.out 9349f2d 
  ql/src/test/results/clientpositive/subquery_notin_having.q.out 804f411 
  ql/src/test/results/clientpositive/subquery_unqualcolumnrefs.q.out c7e1f02 
  ql/src/test/results/clientpositive/vector_groupby_mapjoin.q.out 3468657 
  ql/src/test/results/clientpositive/vector_mapjoin_reduce.q.out 160b088 

Diff: https://reviews.apache.org/r/54517/diff/


Testing
-------

* Added new tests.
* Pre-commit testing on-going


Thanks,

Vineet Garg

Reply via email to