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 351BE200BB5 for ; Sun, 6 Nov 2016 18:20:19 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 33A96160AFC; Sun, 6 Nov 2016 17:20:19 +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 5FE25160AE8 for ; Sun, 6 Nov 2016 18:20:17 +0100 (CET) Received: (qmail 10612 invoked by uid 500); 6 Nov 2016 17:20:16 -0000 Mailing-List: contact notifications-help@asterixdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@asterixdb.apache.org Delivered-To: mailing list notifications@asterixdb.apache.org Received: (qmail 10603 invoked by uid 99); 6 Nov 2016 17:20:16 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 06 Nov 2016 17:20:16 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 09B001A05F4 for ; Sun, 6 Nov 2016 17:20:16 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.71 X-Spam-Level: * X-Spam-Status: No, score=1.71 tagged_above=-999 required=6.31 tests=[SPF_FAIL=0.919, UPPERCASE_50_75=0.791] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id UR2oIflrG32s for ; Sun, 6 Nov 2016 17:20:06 +0000 (UTC) Received: from unhygienix.ics.uci.edu (unhygienix.ics.uci.edu [128.195.14.130]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTP id 6F1CE5F1D5 for ; Sun, 6 Nov 2016 17:20:05 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by unhygienix.ics.uci.edu (Postfix) with ESMTP id 07B30240B80; Sun, 6 Nov 2016 09:20:02 -0800 (PST) Date: Sun, 6 Nov 2016 09:20:01 -0800 From: "Yingyi Bu (Code Review)" Message-ID: Reply-To: buyingyi@gmail.com X-Gerrit-MessageType: newchange Subject: Change in asterixdb[master]: Disable hash merge exchange. X-Gerrit-Change-Id: If82c4e4db1d4340cdd53d17e48a193ab2b7a05e0 X-Gerrit-ChangeURL: X-Gerrit-Commit: d331e6c30649bc9bfabe9c801557ac97a765ad33 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Content-Disposition: inline User-Agent: Gerrit/2.8.4 To: undisclosed-recipients:; archived-at: Sun, 06 Nov 2016 17:20:19 -0000 Yingyi Bu has uploaded a new change for review. https://asterix-gerrit.ics.uci.edu/1345 Change subject: Disable hash merge exchange. ...................................................................... Disable hash merge exchange. - Hash merge exchange does not work very well on large clusters. Change-Id: If82c4e4db1d4340cdd53d17e48a193ab2b7a05e0 --- M asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate/constant-gby-agg.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/consolidate-selects-complex.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/count-tweets.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/fj-phase1.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/inlined_q18_large_volume_customer.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-aggreg.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search-conjunctive-open_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search-conjunctive-open_02.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search-conjunctive_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search-conjunctive_02.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/q01_pricing_summary_report_nt.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/q2.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1263.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1343-2.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1343-3.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1343-4.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1343.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-830.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/query-issue562.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/query-issue601.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/query-issue697.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/query-issue785.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/query-issue810-2.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/query-issue810.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-secondary-index-open.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-secondary-index.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/scan-delete-rtree-secondary-index.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/skip-index/skip-rtree-secondary-index.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/split-materialization-above-join.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/exists.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/not_exists.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1580.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1591.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/tpch/q12_shipping.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/tpch/q12_shipping_broadcast.plan M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java 36 files changed, 261 insertions(+), 238 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/45/1345/1 diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate/constant-gby-agg.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate/constant-gby-agg.plan index 773be15..94bf390 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate/constant-gby-agg.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate/constant-gby-agg.plan @@ -3,12 +3,12 @@ -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$26] |PARTITIONED| + -- SORT_GROUP_BY[$$26] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$26(ASC)] HASH:[$$26] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$26] |PARTITIONED| -- SORT_GROUP_BY[$$22] |PARTITIONED| { -- AGGREGATE |LOCAL| diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/consolidate-selects-complex.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/consolidate-selects-complex.plan index 3abde90..aa8c7e6 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/consolidate-selects-complex.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/consolidate-selects-complex.plan @@ -3,12 +3,14 @@ -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- BULKLOAD |PARTITIONED| - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$2(ASC)] HASH:[$$2] |PARTITIONED| - -- ASSIGN |PARTITIONED| - -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- DATASOURCE_SCAN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STABLE_SORT [$$2(ASC)] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$2] |PARTITIONED| + -- ASSIGN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- EMPTY_TUPLE_SOURCE |PARTITIONED| + -- DATASOURCE_SCAN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- EMPTY_TUPLE_SOURCE |PARTITIONED| -- DISTRIBUTE_RESULT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/count-tweets.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/count-tweets.plan index 5db2633..a17020e 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/count-tweets.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/count-tweets.plan @@ -3,12 +3,12 @@ -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$14] |PARTITIONED| + -- SORT_GROUP_BY[$$14] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$14(ASC)] HASH:[$$14] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$14] |PARTITIONED| -- SORT_GROUP_BY[$$4] |PARTITIONED| { -- AGGREGATE |LOCAL| diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/fj-phase1.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/fj-phase1.plan index 64c0b06..83af511 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/fj-phase1.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/fj-phase1.plan @@ -31,12 +31,12 @@ -- SORT_MERGE_EXCHANGE [$$23(DESC) ] |PARTITIONED| -- STABLE_SORT [$$23(DESC)] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$30] |PARTITIONED| + -- SORT_GROUP_BY[$$30] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$30(ASC)] HASH:[$$30] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$30] |PARTITIONED| -- SORT_GROUP_BY[$$3] |PARTITIONED| { -- AGGREGATE |LOCAL| diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/inlined_q18_large_volume_customer.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/inlined_q18_large_volume_customer.plan index f438fac..b2d5267 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/inlined_q18_large_volume_customer.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/inlined_q18_large_volume_customer.plan @@ -8,12 +8,12 @@ -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STABLE_SORT [topK: 100] [$$12(DESC), $$11(ASC)] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$72, $$73] |PARTITIONED| + -- SORT_GROUP_BY[$$72, $$73] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$72(ASC), $$73(ASC)] HASH:[$$72, $$73] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$72, $$73] |PARTITIONED| -- SORT_GROUP_BY[$$56, $$57] |PARTITIONED| { -- AGGREGATE |LOCAL| @@ -49,12 +49,12 @@ -- STREAM_PROJECT |PARTITIONED| -- STREAM_SELECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$69] |PARTITIONED| + -- SORT_GROUP_BY[$$69] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$69(ASC)] HASH:[$$69] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$69] |PARTITIONED| -- PRE_CLUSTERED_GROUP_BY[$$58] |PARTITIONED| { -- AGGREGATE |LOCAL| diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-aggreg.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-aggreg.plan index c100a31..45b584a 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-aggreg.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-aggreg.plan @@ -3,12 +3,12 @@ -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$24] |PARTITIONED| + -- SORT_GROUP_BY[$$24] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$24(ASC)] HASH:[$$24] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$24] |PARTITIONED| -- SORT_GROUP_BY[$$16] |PARTITIONED| { -- AGGREGATE |LOCAL| diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search-conjunctive-open_01.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search-conjunctive-open_01.plan index 3fbd339..e0a20c8 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search-conjunctive-open_01.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search-conjunctive-open_01.plan @@ -3,12 +3,14 @@ -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- BULKLOAD |PARTITIONED| - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$2(ASC)] HASH:[$$2] |PARTITIONED| - -- ASSIGN |PARTITIONED| - -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- DATASOURCE_SCAN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STABLE_SORT [$$2(ASC)] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$2] |PARTITIONED| + -- ASSIGN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- EMPTY_TUPLE_SOURCE |PARTITIONED| + -- DATASOURCE_SCAN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- EMPTY_TUPLE_SOURCE |PARTITIONED| -- DISTRIBUTE_RESULT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search-conjunctive-open_02.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search-conjunctive-open_02.plan index e3baddf..c30de53 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search-conjunctive-open_02.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search-conjunctive-open_02.plan @@ -3,12 +3,14 @@ -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- BULKLOAD |PARTITIONED| - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$2(ASC)] HASH:[$$2] |PARTITIONED| - -- ASSIGN |PARTITIONED| - -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- DATASOURCE_SCAN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STABLE_SORT [$$2(ASC)] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$2] |PARTITIONED| + -- ASSIGN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- EMPTY_TUPLE_SOURCE |PARTITIONED| + -- DATASOURCE_SCAN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- EMPTY_TUPLE_SOURCE |PARTITIONED| -- DISTRIBUTE_RESULT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search-conjunctive_01.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search-conjunctive_01.plan index 3fbd339..e0a20c8 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search-conjunctive_01.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search-conjunctive_01.plan @@ -3,12 +3,14 @@ -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- BULKLOAD |PARTITIONED| - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$2(ASC)] HASH:[$$2] |PARTITIONED| - -- ASSIGN |PARTITIONED| - -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- DATASOURCE_SCAN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STABLE_SORT [$$2(ASC)] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$2] |PARTITIONED| + -- ASSIGN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- EMPTY_TUPLE_SOURCE |PARTITIONED| + -- DATASOURCE_SCAN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- EMPTY_TUPLE_SOURCE |PARTITIONED| -- DISTRIBUTE_RESULT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search-conjunctive_02.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search-conjunctive_02.plan index e3baddf..c30de53 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search-conjunctive_02.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search-conjunctive_02.plan @@ -3,12 +3,14 @@ -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- BULKLOAD |PARTITIONED| - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$2(ASC)] HASH:[$$2] |PARTITIONED| - -- ASSIGN |PARTITIONED| - -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- DATASOURCE_SCAN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STABLE_SORT [$$2(ASC)] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$2] |PARTITIONED| + -- ASSIGN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- EMPTY_TUPLE_SOURCE |PARTITIONED| + -- DATASOURCE_SCAN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- EMPTY_TUPLE_SOURCE |PARTITIONED| -- DISTRIBUTE_RESULT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/q01_pricing_summary_report_nt.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/q01_pricing_summary_report_nt.plan index fb35c0c..d0b7ef3 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/q01_pricing_summary_report_nt.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/q01_pricing_summary_report_nt.plan @@ -3,12 +3,14 @@ -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- BULKLOAD |PARTITIONED| - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$2(ASC), $$3(ASC)] HASH:[$$2, $$3] |PARTITIONED| - -- ASSIGN |PARTITIONED| - -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- DATASOURCE_SCAN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STABLE_SORT [$$2(ASC), $$3(ASC)] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$2, $$3] |PARTITIONED| + -- ASSIGN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- EMPTY_TUPLE_SOURCE |PARTITIONED| + -- DATASOURCE_SCAN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- EMPTY_TUPLE_SOURCE |PARTITIONED| -- DISTRIBUTE_RESULT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/q2.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/q2.plan index 87aa995..cdcee3a 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/q2.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/q2.plan @@ -22,21 +22,23 @@ } -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$32(ASC), $$33(ASC)] HASH:[$$32] |PARTITIONED| - -- SORT_GROUP_BY[$$23, $$24] |PARTITIONED| - { - -- AGGREGATE |LOCAL| - -- NESTED_TUPLE_SOURCE |LOCAL| - } - -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- STREAM_PROJECT |PARTITIONED| - -- ASSIGN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STABLE_SORT [$$32(ASC), $$33(ASC)] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$32] |PARTITIONED| + -- SORT_GROUP_BY[$$23, $$24] |PARTITIONED| + { + -- AGGREGATE |LOCAL| + -- NESTED_TUPLE_SOURCE |LOCAL| + } + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| - -- UNNEST |PARTITIONED| + -- ASSIGN |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| - -- ASSIGN |PARTITIONED| + -- UNNEST |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| - -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- DATASOURCE_SCAN |PARTITIONED| + -- ASSIGN |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- EMPTY_TUPLE_SOURCE |PARTITIONED| + -- DATASOURCE_SCAN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- EMPTY_TUPLE_SOURCE |PARTITIONED| diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1263.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1263.plan index 8532218..ab10f2d 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1263.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1263.plan @@ -19,17 +19,19 @@ -- ASSIGN |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$27(ASC), $$28(ASC)] HASH:[$$27] |PARTITIONED| - -- SORT_GROUP_BY[$$18, $$24] |PARTITIONED| - { - -- AGGREGATE |LOCAL| - -- NESTED_TUPLE_SOURCE |LOCAL| - } - -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- STREAM_PROJECT |PARTITIONED| - -- ASSIGN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STABLE_SORT [$$27(ASC)] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$27] |PARTITIONED| + -- SORT_GROUP_BY[$$18, $$24] |PARTITIONED| + { + -- AGGREGATE |LOCAL| + -- NESTED_TUPLE_SOURCE |LOCAL| + } + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| - -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- DATASOURCE_SCAN |PARTITIONED| + -- ASSIGN |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- EMPTY_TUPLE_SOURCE |PARTITIONED| + -- DATASOURCE_SCAN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- EMPTY_TUPLE_SOURCE |PARTITIONED| diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1343-2.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1343-2.plan index 1dac8b2..cb833a5 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1343-2.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1343-2.plan @@ -3,12 +3,12 @@ -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| -- SORT_MERGE_EXCHANGE [$$3(ASC) ] |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$39] |PARTITIONED| + -- SORT_GROUP_BY[$$39] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$39(ASC)] HASH:[$$39] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$39] |PARTITIONED| -- SORT_GROUP_BY[$$27] |PARTITIONED| { -- AGGREGATE |LOCAL| @@ -29,11 +29,13 @@ -- EMPTY_TUPLE_SOURCE |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- PRE_SORTED_DISTINCT_BY |PARTITIONED| - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$31(ASC)] HASH:[$$31] |PARTITIONED| - -- STREAM_PROJECT |PARTITIONED| - -- STREAM_SELECT |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STABLE_SORT [$$31(ASC)] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$31] |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| - -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- DATASOURCE_SCAN |PARTITIONED| + -- STREAM_SELECT |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- EMPTY_TUPLE_SOURCE |PARTITIONED| + -- DATASOURCE_SCAN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- EMPTY_TUPLE_SOURCE |PARTITIONED| diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1343-3.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1343-3.plan index b084028..336d7d4 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1343-3.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1343-3.plan @@ -3,12 +3,12 @@ -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| -- SORT_MERGE_EXCHANGE [$$3(ASC) ] |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$39] |PARTITIONED| + -- SORT_GROUP_BY[$$39] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$39(ASC)] HASH:[$$39] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$39] |PARTITIONED| -- SORT_GROUP_BY[$$27] |PARTITIONED| { -- AGGREGATE |LOCAL| @@ -29,11 +29,13 @@ -- EMPTY_TUPLE_SOURCE |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- PRE_SORTED_DISTINCT_BY |PARTITIONED| - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$31(ASC)] HASH:[$$31] |PARTITIONED| - -- STREAM_PROJECT |PARTITIONED| - -- STREAM_SELECT |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STABLE_SORT [$$31(ASC)] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$31] |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| - -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- DATASOURCE_SCAN |PARTITIONED| + -- STREAM_SELECT |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- EMPTY_TUPLE_SOURCE |PARTITIONED| + -- DATASOURCE_SCAN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- EMPTY_TUPLE_SOURCE |PARTITIONED| diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1343-4.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1343-4.plan index 4a3162f..5e3d14a 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1343-4.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1343-4.plan @@ -3,12 +3,12 @@ -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| -- SORT_MERGE_EXCHANGE [$$3(ASC) ] |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$39] |PARTITIONED| + -- SORT_GROUP_BY[$$39] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$39(ASC)] HASH:[$$39] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$39] |PARTITIONED| -- SORT_GROUP_BY[$$27] |PARTITIONED| { -- AGGREGATE |LOCAL| @@ -36,11 +36,13 @@ -- EMPTY_TUPLE_SOURCE |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- PRE_SORTED_DISTINCT_BY |PARTITIONED| - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$31(ASC)] HASH:[$$31] |PARTITIONED| - -- STREAM_PROJECT |PARTITIONED| - -- STREAM_SELECT |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STABLE_SORT [$$31(ASC)] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$31] |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| - -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- DATASOURCE_SCAN |PARTITIONED| + -- STREAM_SELECT |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- EMPTY_TUPLE_SOURCE |PARTITIONED| + -- DATASOURCE_SCAN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- EMPTY_TUPLE_SOURCE |PARTITIONED| diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1343.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1343.plan index 1dac8b2..cb833a5 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1343.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1343.plan @@ -3,12 +3,12 @@ -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| -- SORT_MERGE_EXCHANGE [$$3(ASC) ] |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$39] |PARTITIONED| + -- SORT_GROUP_BY[$$39] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$39(ASC)] HASH:[$$39] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$39] |PARTITIONED| -- SORT_GROUP_BY[$$27] |PARTITIONED| { -- AGGREGATE |LOCAL| @@ -29,11 +29,13 @@ -- EMPTY_TUPLE_SOURCE |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- PRE_SORTED_DISTINCT_BY |PARTITIONED| - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$31(ASC)] HASH:[$$31] |PARTITIONED| - -- STREAM_PROJECT |PARTITIONED| - -- STREAM_SELECT |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STABLE_SORT [$$31(ASC)] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$31] |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| - -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- DATASOURCE_SCAN |PARTITIONED| + -- STREAM_SELECT |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- EMPTY_TUPLE_SOURCE |PARTITIONED| + -- DATASOURCE_SCAN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- EMPTY_TUPLE_SOURCE |PARTITIONED| diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-830.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-830.plan index ef384eb..26185a2 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-830.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-830.plan @@ -12,39 +12,41 @@ -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$32(ASC)] HASH:[$$32] |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$24] |PARTITIONED| - { - -- AGGREGATE |LOCAL| - -- NESTED_TUPLE_SOURCE |LOCAL| - } - { - -- AGGREGATE |LOCAL| - -- NESTED_TUPLE_SOURCE |LOCAL| - } - -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- STABLE_SORT [$$24(ASC)] |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STABLE_SORT [$$32(ASC)] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$32] |PARTITIONED| + -- PRE_CLUSTERED_GROUP_BY[$$24] |PARTITIONED| + { + -- AGGREGATE |LOCAL| + -- NESTED_TUPLE_SOURCE |LOCAL| + } + { + -- AGGREGATE |LOCAL| + -- NESTED_TUPLE_SOURCE |LOCAL| + } -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- STREAM_PROJECT |PARTITIONED| - -- ASSIGN |PARTITIONED| - -- STREAM_SELECT |PARTITIONED| + -- STABLE_SORT [$$24(ASC)] |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| - -- STREAM_PROJECT |PARTITIONED| - -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- DATASOURCE_SCAN |PARTITIONED| + -- STREAM_SELECT |PARTITIONED| + -- ASSIGN |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- EMPTY_TUPLE_SOURCE |PARTITIONED| + -- DATASOURCE_SCAN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- EMPTY_TUPLE_SOURCE |PARTITIONED| -- DISTRIBUTE_RESULT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$40] |PARTITIONED| + -- SORT_GROUP_BY[$$40] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$40(ASC)] HASH:[$$40] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$40] |PARTITIONED| -- SORT_GROUP_BY[$$30] |PARTITIONED| { -- AGGREGATE |LOCAL| diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-issue562.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-issue562.plan index 931ec7d..173aae7 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-issue562.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-issue562.plan @@ -3,12 +3,12 @@ -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| -- SORT_MERGE_EXCHANGE [$$7(ASC) ] |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$82] |PARTITIONED| + -- SORT_GROUP_BY[$$82] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$82(ASC)] HASH:[$$82] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$82] |PARTITIONED| -- SORT_GROUP_BY[$$11] |PARTITIONED| { -- AGGREGATE |LOCAL| @@ -19,12 +19,12 @@ -- STREAM_SELECT |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$79] |PARTITIONED| + -- SORT_GROUP_BY[$$79] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$79(ASC)] HASH:[$$79] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$79] |PARTITIONED| -- PRE_CLUSTERED_GROUP_BY[$$75] |PARTITIONED| { -- AGGREGATE |LOCAL| diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-issue601.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-issue601.plan index 7b628a7..369f475 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-issue601.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-issue601.plan @@ -3,12 +3,12 @@ -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$13] |PARTITIONED| + -- SORT_GROUP_BY[$$13] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$13(ASC)] HASH:[$$13] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$13] |PARTITIONED| -- SORT_GROUP_BY[$$10] |PARTITIONED| { -- AGGREGATE |LOCAL| diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-issue697.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-issue697.plan index e2a985d..13fb7e1 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-issue697.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-issue697.plan @@ -3,12 +3,12 @@ -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$19] |PARTITIONED| + -- SORT_GROUP_BY[$$19] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$19(ASC)] HASH:[$$19] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$19] |PARTITIONED| -- PRE_CLUSTERED_GROUP_BY[$$16] |PARTITIONED| { -- AGGREGATE |LOCAL| diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-issue785.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-issue785.plan index ac2c294..4027e6a 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-issue785.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-issue785.plan @@ -13,12 +13,12 @@ -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STABLE_SORT [$$7(ASC)] |PARTITIONED| -- HASH_PARTITION_EXCHANGE [$$7] |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$69, $$70] |PARTITIONED| + -- SORT_GROUP_BY[$$69, $$70] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$69(ASC), $$70(ASC)] HASH:[$$69, $$70] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$69, $$70] |PARTITIONED| -- SORT_GROUP_BY[$$50, $$54] |PARTITIONED| { -- AGGREGATE |LOCAL| diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-issue810-2.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-issue810-2.plan index 2b98aec..7b94c2a 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-issue810-2.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-issue810-2.plan @@ -16,29 +16,31 @@ -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$75(ASC), $$76(ASC)] HASH:[$$75, $$76] |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$42, $$43] |PARTITIONED| - { - -- AGGREGATE |LOCAL| - -- NESTED_TUPLE_SOURCE |LOCAL| - } - { - -- AGGREGATE |LOCAL| - -- STREAM_SELECT |LOCAL| - -- NESTED_TUPLE_SOURCE |LOCAL| - } - { - -- AGGREGATE |LOCAL| - -- STREAM_SELECT |LOCAL| - -- NESTED_TUPLE_SOURCE |LOCAL| - } - -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- STABLE_SORT [$$42(ASC), $$43(ASC)] |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STABLE_SORT [$$75(ASC), $$76(ASC)] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$75, $$76] |PARTITIONED| + -- PRE_CLUSTERED_GROUP_BY[$$42, $$43] |PARTITIONED| + { + -- AGGREGATE |LOCAL| + -- NESTED_TUPLE_SOURCE |LOCAL| + } + { + -- AGGREGATE |LOCAL| + -- STREAM_SELECT |LOCAL| + -- NESTED_TUPLE_SOURCE |LOCAL| + } + { + -- AGGREGATE |LOCAL| + -- STREAM_SELECT |LOCAL| + -- NESTED_TUPLE_SOURCE |LOCAL| + } -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- STREAM_SELECT |PARTITIONED| - -- ASSIGN |PARTITIONED| - -- STREAM_PROJECT |PARTITIONED| - -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- DATASOURCE_SCAN |PARTITIONED| + -- STABLE_SORT [$$42(ASC), $$43(ASC)] |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STREAM_SELECT |PARTITIONED| + -- ASSIGN |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- EMPTY_TUPLE_SOURCE |PARTITIONED| + -- DATASOURCE_SCAN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- EMPTY_TUPLE_SOURCE |PARTITIONED| diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-issue810.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-issue810.plan index fc4ab7d..3e7d5d9 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-issue810.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-issue810.plan @@ -12,25 +12,27 @@ -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$34(ASC), $$35(ASC)] HASH:[$$34, $$35] |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$23, $$24] |PARTITIONED| - { - -- AGGREGATE |LOCAL| - -- STREAM_SELECT |LOCAL| - -- NESTED_TUPLE_SOURCE |LOCAL| - } - { - -- AGGREGATE |LOCAL| - -- STREAM_SELECT |LOCAL| - -- NESTED_TUPLE_SOURCE |LOCAL| - } - -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- STABLE_SORT [$$23(ASC), $$24(ASC)] |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STABLE_SORT [$$34(ASC), $$35(ASC)] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$34, $$35] |PARTITIONED| + -- PRE_CLUSTERED_GROUP_BY[$$23, $$24] |PARTITIONED| + { + -- AGGREGATE |LOCAL| + -- STREAM_SELECT |LOCAL| + -- NESTED_TUPLE_SOURCE |LOCAL| + } + { + -- AGGREGATE |LOCAL| + -- STREAM_SELECT |LOCAL| + -- NESTED_TUPLE_SOURCE |LOCAL| + } -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- STREAM_SELECT |PARTITIONED| - -- ASSIGN |PARTITIONED| - -- STREAM_PROJECT |PARTITIONED| - -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- DATASOURCE_SCAN |PARTITIONED| + -- STABLE_SORT [$$23(ASC), $$24(ASC)] |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STREAM_SELECT |PARTITIONED| + -- ASSIGN |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- EMPTY_TUPLE_SOURCE |PARTITIONED| + -- DATASOURCE_SCAN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- EMPTY_TUPLE_SOURCE |PARTITIONED| diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-secondary-index-open.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-secondary-index-open.plan index f77dc35..2b07c56 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-secondary-index-open.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-secondary-index-open.plan @@ -3,12 +3,14 @@ -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- BULKLOAD |PARTITIONED| - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$2(ASC)] HASH:[$$2] |PARTITIONED| - -- ASSIGN |PARTITIONED| - -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- DATASOURCE_SCAN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STABLE_SORT [$$2(ASC)] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$2] |PARTITIONED| + -- ASSIGN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- EMPTY_TUPLE_SOURCE |PARTITIONED| + -- DATASOURCE_SCAN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- EMPTY_TUPLE_SOURCE |PARTITIONED| -- DISTRIBUTE_RESULT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-secondary-index.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-secondary-index.plan index f77dc35..2b07c56 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-secondary-index.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-secondary-index.plan @@ -3,12 +3,14 @@ -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- BULKLOAD |PARTITIONED| - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$2(ASC)] HASH:[$$2] |PARTITIONED| - -- ASSIGN |PARTITIONED| - -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- DATASOURCE_SCAN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STABLE_SORT [$$2(ASC)] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$2] |PARTITIONED| + -- ASSIGN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- EMPTY_TUPLE_SOURCE |PARTITIONED| + -- DATASOURCE_SCAN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- EMPTY_TUPLE_SOURCE |PARTITIONED| -- DISTRIBUTE_RESULT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/scan-delete-rtree-secondary-index.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/scan-delete-rtree-secondary-index.plan index 317b163..2562338 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/scan-delete-rtree-secondary-index.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/scan-delete-rtree-secondary-index.plan @@ -3,12 +3,14 @@ -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- BULKLOAD |PARTITIONED| - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$2(ASC)] HASH:[$$2] |PARTITIONED| - -- ASSIGN |PARTITIONED| - -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- DATASOURCE_SCAN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STABLE_SORT [$$2(ASC)] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$2] |PARTITIONED| + -- ASSIGN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- EMPTY_TUPLE_SOURCE |PARTITIONED| + -- DATASOURCE_SCAN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- EMPTY_TUPLE_SOURCE |PARTITIONED| -- COMMIT |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| @@ -28,4 +30,4 @@ -- BTREE_SEARCH |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- ASSIGN |PARTITIONED| - -- EMPTY_TUPLE_SOURCE |PARTITIONED| \ No newline at end of file + -- EMPTY_TUPLE_SOURCE |PARTITIONED| diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/skip-index/skip-rtree-secondary-index.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/skip-index/skip-rtree-secondary-index.plan index 1534f6c..49535e9 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/skip-index/skip-rtree-secondary-index.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/skip-index/skip-rtree-secondary-index.plan @@ -3,12 +3,14 @@ -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- BULKLOAD |PARTITIONED| - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$2(ASC)] HASH:[$$2] |PARTITIONED| - -- ASSIGN |PARTITIONED| - -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- DATASOURCE_SCAN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STABLE_SORT [$$2(ASC)] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$2] |PARTITIONED| + -- ASSIGN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- EMPTY_TUPLE_SOURCE |PARTITIONED| + -- DATASOURCE_SCAN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- EMPTY_TUPLE_SOURCE |PARTITIONED| -- DISTRIBUTE_RESULT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/split-materialization-above-join.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/split-materialization-above-join.plan index 5d9600c..d698437 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/split-materialization-above-join.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/split-materialization-above-join.plan @@ -69,12 +69,12 @@ -- SORT_MERGE_EXCHANGE [$$102(ASC), $$18(ASC) ] |PARTITIONED| -- STABLE_SORT [$$102(ASC), $$18(ASC)] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$130] |PARTITIONED| + -- SORT_GROUP_BY[$$130] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$130(ASC)] HASH:[$$130] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$130] |PARTITIONED| -- SORT_GROUP_BY[$$17] |PARTITIONED| { -- AGGREGATE |LOCAL| @@ -126,12 +126,12 @@ -- SORT_MERGE_EXCHANGE [$$102(ASC), $$18(ASC) ] |PARTITIONED| -- STABLE_SORT [$$102(ASC), $$18(ASC)] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$130] |PARTITIONED| + -- SORT_GROUP_BY[$$130] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$130(ASC)] HASH:[$$130] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$130] |PARTITIONED| -- SORT_GROUP_BY[$$17] |PARTITIONED| { -- AGGREGATE |LOCAL| diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/exists.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/exists.plan index a379cb8..3724559 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/exists.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/exists.plan @@ -3,12 +3,12 @@ -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| -- SORT_MERGE_EXCHANGE [$$31(ASC) ] |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$104] |PARTITIONED| + -- SORT_GROUP_BY[$$104] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$104(ASC)] HASH:[$$104] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$104] |PARTITIONED| -- SORT_GROUP_BY[$$81] |PARTITIONED| { -- AGGREGATE |LOCAL| @@ -21,12 +21,12 @@ -- STREAM_SELECT |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$101] |PARTITIONED| + -- SORT_GROUP_BY[$$101] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$101(ASC)] HASH:[$$101] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$101] |PARTITIONED| -- PRE_CLUSTERED_GROUP_BY[$$95] |PARTITIONED| { -- AGGREGATE |LOCAL| diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/not_exists.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/not_exists.plan index bc68200..139b084 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/not_exists.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/not_exists.plan @@ -3,12 +3,12 @@ -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| -- SORT_MERGE_EXCHANGE [$$31(ASC) ] |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$105] |PARTITIONED| + -- SORT_GROUP_BY[$$105] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$105(ASC)] HASH:[$$105] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$105] |PARTITIONED| -- SORT_GROUP_BY[$$82] |PARTITIONED| { -- AGGREGATE |LOCAL| @@ -21,12 +21,12 @@ -- STREAM_SELECT |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$102] |PARTITIONED| + -- SORT_GROUP_BY[$$102] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$102(ASC)] HASH:[$$102] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$102] |PARTITIONED| -- PRE_CLUSTERED_GROUP_BY[$$96] |PARTITIONED| { -- AGGREGATE |LOCAL| diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1580.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1580.plan index 5e73419..80bb3f4 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1580.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1580.plan @@ -12,12 +12,12 @@ -- STREAM_PROJECT |PARTITIONED| -- STREAM_SELECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$95] |PARTITIONED| + -- SORT_GROUP_BY[$$95] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$95(ASC)] HASH:[$$95] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$95] |PARTITIONED| -- SORT_GROUP_BY[$$73] |PARTITIONED| { -- AGGREGATE |LOCAL| diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1591.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1591.plan index 03ad253..2ade8bb 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1591.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1591.plan @@ -10,12 +10,12 @@ -- STREAM_SELECT |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$129, $$130] |PARTITIONED| + -- SORT_GROUP_BY[$$129, $$130] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$129(ASC), $$130(ASC)] HASH:[$$129, $$130] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$129, $$130] |PARTITIONED| -- PRE_CLUSTERED_GROUP_BY[$$117, $$118] |PARTITIONED| { -- AGGREGATE |LOCAL| @@ -29,12 +29,12 @@ -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- HYBRID_HASH_JOIN [$$117][$$99] |PARTITIONED| -- HASH_PARTITION_EXCHANGE [$$117] |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$126, $$127] |PARTITIONED| + -- SORT_GROUP_BY[$$126, $$127] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$126(ASC), $$127(ASC)] HASH:[$$126, $$127] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$126, $$127] |PARTITIONED| -- PRE_CLUSTERED_GROUP_BY[$$114, $$115] |PARTITIONED| { -- AGGREGATE |LOCAL| @@ -51,12 +51,12 @@ -- STREAM_PROJECT |PARTITIONED| -- STREAM_SELECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$123, $$124] |PARTITIONED| + -- SORT_GROUP_BY[$$123, $$124] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$123(ASC), $$124(ASC)] HASH:[$$123, $$124] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$123, $$124] |PARTITIONED| -- PRE_CLUSTERED_GROUP_BY[$$78, $$79] |PARTITIONED| { -- AGGREGATE |LOCAL| diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpch/q12_shipping.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpch/q12_shipping.plan index 754e03b..ad011cb 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpch/q12_shipping.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpch/q12_shipping.plan @@ -3,12 +3,12 @@ -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| -- SORT_MERGE_EXCHANGE [$$12(ASC) ] |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$104] |PARTITIONED| + -- SORT_GROUP_BY[$$104] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$104(ASC)] HASH:[$$104] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$104] |PARTITIONED| -- SORT_GROUP_BY[$$86] |PARTITIONED| { -- AGGREGATE |LOCAL| diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpch/q12_shipping_broadcast.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpch/q12_shipping_broadcast.plan index 773b4db..27108be 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpch/q12_shipping_broadcast.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpch/q12_shipping_broadcast.plan @@ -3,12 +3,12 @@ -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| -- SORT_MERGE_EXCHANGE [$$12(ASC) ] |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$104] |PARTITIONED| + -- SORT_GROUP_BY[$$104] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_MERGE_EXCHANGE MERGE:[$$104(ASC)] HASH:[$$104] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$104] |PARTITIONED| -- SORT_GROUP_BY[$$86] |PARTITIONED| { -- AGGREGATE |LOCAL| diff --git a/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java b/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java index 159bcf5..8e7cad2 100644 --- a/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java +++ b/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java @@ -18,6 +18,8 @@ */ package org.apache.hyracks.algebricks.rewriter.rules; +import static org.apache.hyracks.algebricks.core.algebra.properties.IPartitioningProperty.PartitioningType.ORDERED_PARTITIONED; + import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -552,24 +554,7 @@ } case UNORDERED_PARTITIONED: { List varList = new ArrayList<>(((UnorderedPartitionedProperty) pp).getColumnSet()); - List cldLocals = deliveredByChild.getLocalProperties(); - List reqdLocals = required.getLocalProperties(); - boolean propWasSet = false; - pop = null; - if (reqdLocals != null && cldLocals != null && allAreOrderProps(cldLocals)) { - AbstractLogicalOperator c = (AbstractLogicalOperator) op.getInputs().get(i).getValue(); - Map ecs = context.getEquivalenceClassMap(c); - List fds = context.getFDList(c); - if (PropertiesUtil.matchLocalProperties(reqdLocals, cldLocals, ecs, fds)) { - List orderColumns = - getOrderColumnsFromGroupingProperties(reqdLocals, cldLocals); - pop = new HashPartitionMergeExchangePOperator(orderColumns, varList, domain); - propWasSet = true; - } - } - if (!propWasSet) { - pop = new HashPartitionExchangePOperator(varList, domain); - } + pop = new HashPartitionExchangePOperator(varList, domain); break; } case ORDERED_PARTITIONED: { -- To view, visit https://asterix-gerrit.ics.uci.edu/1345 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: newchange Gerrit-Change-Id: If82c4e4db1d4340cdd53d17e48a193ab2b7a05e0 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Yingyi Bu