Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 2AE85200BE6 for ; Sun, 11 Dec 2016 03:30:50 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 29B37160B2F; Sun, 11 Dec 2016 02:30:50 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 4B524160B2B for ; Sun, 11 Dec 2016 03:30:49 +0100 (CET) Received: (qmail 33953 invoked by uid 500); 11 Dec 2016 02:30:48 -0000 Mailing-List: contact dev-help@hive.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hive.apache.org Delivered-To: mailing list dev@hive.apache.org Received: (qmail 33937 invoked by uid 99); 11 Dec 2016 02:30:47 -0000 Received: from reviews-vm.apache.org (HELO reviews.apache.org) (140.211.11.40) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 11 Dec 2016 02:30:47 +0000 Received: from reviews.apache.org (localhost [127.0.0.1]) by reviews.apache.org (Postfix) with ESMTP id A61EC2FC486; Sun, 11 Dec 2016 02:30:46 +0000 (UTC) Content-Type: multipart/alternative; boundary="===============0833250619007427322==" MIME-Version: 1.0 Subject: Re: Review Request 54517: HIVE-15192: Subquery support with Calcite From: Vineet Garg To: Ashutosh Chauhan Cc: hive , Vineet Garg Date: Sun, 11 Dec 2016 02:30:46 -0000 Message-ID: <20161211023046.1678.89445@reviews.apache.org> X-ReviewBoard-URL: https://reviews.apache.org/ Auto-Submitted: auto-generated Sender: Vineet Garg X-ReviewGroup: hive X-Auto-Response-Suppress: DR, RN, OOF, AutoReply X-ReviewRequest-URL: https://reviews.apache.org/r/54517/ X-Sender: Vineet Garg References: <20161208014914.1680.82435@reviews.apache.org> In-Reply-To: <20161208014914.1680.82435@reviews.apache.org> X-ReviewBoard-Diff-For: ql/src/test/queries/clientnegative/subquery_restrictions.q X-ReviewBoard-Diff-For: ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveReplicatedRelBuilder.java X-ReviewBoard-Diff-For: ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveSubQueryRemoveRule.java X-ReviewBoard-Diff-For: ql/src/test/queries/clientpositive/subquery_shared_alias.q X-ReviewBoard-Diff-For: ql/src/test/results/clientnegative/subquery_nested_subquery.q.out X-ReviewBoard-Diff-For: ql/src/test/results/clientnegative/subquery_restrictions.q.out X-ReviewBoard-Diff-For: ql/src/test/results/clientpositive/llap/subquery_nested_subquery.q.out X-ReviewBoard-Diff-For: ql/src/test/results/clientpositive/llap/subquery_shared_alias.q.out X-ReviewBoard-Diff-For: ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveRelDecorrelator.java X-ReviewBoard-Diff-For: ql/src/test/queries/clientpositive/subquery_nested_subquery.q X-ReviewBoard-Diff-For: ql/src/test/queries/clientnegative/subquery_shared_alias.q X-ReviewBoard-Diff-For: ql/src/java/org/apache/hadoop/hive/ql/lib/SubQueryWalker.java X-ReviewBoard-Diff-For: ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveRelShuttleImpl.java X-ReviewBoard-Diff-For: ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveRelShuttle.java X-ReviewBoard-Diff-For: ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeSubQueryDesc.java X-ReviewBoard-Diff-For: ql/src/test/queries/clientnegative/subquery_nested_subquery.q Reply-To: Vineet Garg X-ReviewRequest-Repository: hive-git archived-at: Sun, 11 Dec 2016 02:30:50 -0000 --===============0833250619007427322== MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit ----------------------------------------------------------- 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 --===============0833250619007427322==--