-----------------------------------------------------------
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