You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by Vineet Garg <vg...@hortonworks.com> on 2017/01/03 18:45:56 UTC

Review Request 55148: HIVE-15481: Support for multiple and nested subqueries

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

Review request for hive and Ashutosh Chauhan.


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


Repository: hive-git


Description
-------

This patch lifts the following restrictions:
Restriction.8.m We allow only 1 SubQuery expression per Query.
Restriction.9.m We will not support nested SubQuery expressions.
Check.4.h For Exists and Not Exists, the Sub Query must have 1 or more correlated predicates
Check.12.h SubQuery predicates cannot only refer to Parent Query columns.


Diffs
-----

  data/files/part_tiny_nulls.txt PRE-CREATION 
  itests/src/test/resources/testconfiguration.properties 2902d92 
  ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveSubQRemoveRelBuilder.java e028a99 
  ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveSubQueryRemoveRule.java 5f58aae 
  ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java 10639de 
  ql/src/java/org/apache/hadoop/hive/ql/parse/QBSubQuery.java 21ddae6 
  ql/src/test/queries/clientnegative/subquery_restrictions.q 80870d7 
  ql/src/test/queries/clientnegative/subquery_subquery_chain_exists.q PRE-CREATION 
  ql/src/test/queries/clientpositive/perf/query16.q PRE-CREATION 
  ql/src/test/queries/clientpositive/perf/query23.q PRE-CREATION 
  ql/src/test/queries/clientpositive/perf/query33.q PRE-CREATION 
  ql/src/test/queries/clientpositive/perf/query45.q 0b34bfd 
  ql/src/test/queries/clientpositive/perf/query56.q PRE-CREATION 
  ql/src/test/queries/clientpositive/perf/query60.q PRE-CREATION 
  ql/src/test/queries/clientpositive/perf/query69.q PRE-CREATION 
  ql/src/test/queries/clientpositive/perf/query83.q PRE-CREATION 
  ql/src/test/queries/clientpositive/subquery_exists.q be80721 
  ql/src/test/queries/clientpositive/subquery_in.q 5b22dce 
  ql/src/test/queries/clientpositive/subquery_in_having.q 2433556 
  ql/src/test/queries/clientpositive/subquery_multi.q PRE-CREATION 
  ql/src/test/queries/clientpositive/subquery_notexists.q 2d7e9ce 
  ql/src/test/queries/clientpositive/subquery_notin.q c29e63f 
  ql/src/test/results/clientnegative/subquery_corr_grandparent.q.out fb72270 
  ql/src/test/results/clientnegative/subquery_restrictions.q.out a546d49 
  ql/src/test/results/clientnegative/subquery_subquery_chain_exists.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/llap/explainuser_1.q.out fa54bb7 
  ql/src/test/results/clientpositive/llap/lineage3.q.out 72a9344 
  ql/src/test/results/clientpositive/llap/subquery_exists.q.out b132cb6 
  ql/src/test/results/clientpositive/llap/subquery_in.q.out e71add5 
  ql/src/test/results/clientpositive/llap/subquery_multi.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/llap/subquery_notin.q.out 252b058 
  ql/src/test/results/clientpositive/llap/vector_groupby_mapjoin.q.out 27f32db 
  ql/src/test/results/clientpositive/perf/query16.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/perf/query23.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/perf/query33.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/perf/query56.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/perf/query60.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/perf/query69.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/perf/query83.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/spark/subquery_exists.q.out c28a218 
  ql/src/test/results/clientpositive/spark/subquery_in.q.out 36e3e6e 
  ql/src/test/results/clientpositive/subquery_exists.q.out 1019e7a 
  ql/src/test/results/clientpositive/subquery_in_having.q.out e277c59 
  ql/src/test/results/clientpositive/subquery_notexists.q.out 6ec3b46 
  ql/src/test/results/clientpositive/subquery_notin_having.q.out 9f72cc9 
  ql/src/test/results/clientpositive/vector_groupby_mapjoin.q.out af42e41 

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


Testing
-------

*Added new tests
*Verfied result correctness with postgress (manually)
*Pre-commit testing


Thanks,

Vineet Garg