Fix ASTERIXDB-1875 UDF in SQL++ 1. Fix the bug that if a function created with SQLPP, the callExpr in the function body is not normalzied to list input functions. 2. Fix the bug that in SQL++ Query Rewritter, the variables are not expanded before the inline the functions. 3. Add test case for this issue. 4. Make SQL++ visitor visits decorVariableExpression. 5. Optimizer test cases update.
Change-Id: I7cf72c690b452dd141efe56f5d7098a6f00cab0f Reviewed-on: https://asterix-gerrit.ics.uci.edu/1666 Sonar-Qube: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Tested-by: Jenkins <jenk...@fulliautomatix.ics.uci.edu> BAD: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Integration-Tests: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Reviewed-by: Yingyi Bu <buyin...@gmail.com> Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/96fd4026 Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/96fd4026 Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/96fd4026 Branch: refs/heads/master Commit: 96fd4026acb2e97ff43a79ac6a1c92337ce9f753 Parents: ab01c87 Author: Xikui Wang <xkk...@gmail.com> Authored: Mon Apr 10 14:23:31 2017 -0700 Committer: Xikui Wang <xkk...@gmail.com> Committed: Mon Apr 10 15:39:54 2017 -0700 ---------------------------------------------------------------------- .../results/aggregate/constant-gby-agg.plan | 6 +- .../resources/optimizerts/results/loj-core.plan | 10 +-- .../optimizerts/results/loj-sugar.plan | 10 +-- .../results/query-ASTERIXDB-159-3.plan | 8 +-- .../results/query-ASTERIXDB-1671.plan | 4 +- .../results/query-ASTERIXDB-1806.plan | 8 +-- .../optimizerts/results/subquery/exists.plan | 22 +++--- .../optimizerts/results/subquery/in.plan | 10 +-- .../results/subquery/in_correlated.plan | 10 +-- .../results/subquery/not_exists.plan | 22 +++--- .../results/subquery/query-ASTERIXDB-1572.plan | 36 +++++----- .../results/tpcds/query-ASTERIXDB-1580.plan | 28 ++++---- .../tpcds/query-ASTERIXDB-1581-correlated.plan | 72 ++++++++++---------- .../results/tpcds/query-ASTERIXDB-1581.plan | 30 ++++---- .../results/tpcds/query-ASTERIXDB-1591.plan | 60 ++++++++-------- .../results/tpcds/query-ASTERIXDB-1596.plan | 10 +-- .../optimizerts/results/tpch/q12_shipping.plan | 14 ++-- .../results/tpch/q12_shipping_broadcast.plan | 12 ++-- .../query-ASTERIXDB-1298.1.ddl.sqlpp | 26 +++++++ .../query-ASTERIXDB-1298.2.query.sqlpp | 23 +++++++ .../query-ASTERIXDB-1875.1.adm | 1 + .../lang/sqlpp/rewrites/SqlppQueryRewriter.java | 8 +-- .../AbstractSqlppSimpleExpressionVisitor.java | 3 + .../asterix-lang-sqlpp/src/main/javacc/SQLPP.jj | 4 +- 24 files changed, 245 insertions(+), 192 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/96fd4026/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate/constant-gby-agg.plan ---------------------------------------------------------------------- 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 94bf390..d6399f7 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,13 +3,13 @@ -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- SORT_GROUP_BY[$$26] |PARTITIONED| + -- SORT_GROUP_BY[$$20] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_EXCHANGE [$$26] |PARTITIONED| - -- SORT_GROUP_BY[$$22] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$20] |PARTITIONED| + -- SORT_GROUP_BY[$$16] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| http://git-wip-us.apache.org/repos/asf/asterixdb/blob/96fd4026/asterixdb/asterix-app/src/test/resources/optimizerts/results/loj-core.plan ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/loj-core.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/loj-core.plan index fb6d5fb..1d34c95 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/loj-core.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/loj-core.plan @@ -2,20 +2,20 @@ -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| - -- SORT_MERGE_EXCHANGE [$$18(ASC) ] |PARTITIONED| - -- STABLE_SORT [$$18(ASC)] |PARTITIONED| + -- SORT_MERGE_EXCHANGE [$$15(ASC) ] |PARTITIONED| + -- STABLE_SORT [$$15(ASC)] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- HYBRID_HASH_JOIN [$$20][$$21] |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$20] |PARTITIONED| + -- HYBRID_HASH_JOIN [$$17][$$18] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$17] |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- DATASOURCE_SCAN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- EMPTY_TUPLE_SOURCE |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$21] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$18] |PARTITIONED| -- ASSIGN |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| http://git-wip-us.apache.org/repos/asf/asterixdb/blob/96fd4026/asterixdb/asterix-app/src/test/resources/optimizerts/results/loj-sugar.plan ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/loj-sugar.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/loj-sugar.plan index c712344..1d34c95 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/loj-sugar.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/loj-sugar.plan @@ -2,20 +2,20 @@ -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| - -- SORT_MERGE_EXCHANGE [$$17(ASC) ] |PARTITIONED| - -- STABLE_SORT [$$17(ASC)] |PARTITIONED| + -- SORT_MERGE_EXCHANGE [$$15(ASC) ] |PARTITIONED| + -- STABLE_SORT [$$15(ASC)] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- HYBRID_HASH_JOIN [$$19][$$20] |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$19] |PARTITIONED| + -- HYBRID_HASH_JOIN [$$17][$$18] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$17] |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- DATASOURCE_SCAN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- EMPTY_TUPLE_SOURCE |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$20] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$18] |PARTITIONED| -- ASSIGN |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| http://git-wip-us.apache.org/repos/asf/asterixdb/blob/96fd4026/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-159-3.plan ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-159-3.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-159-3.plan index dc1614a..ab2661b 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-159-3.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-159-3.plan @@ -3,14 +3,14 @@ -- STREAM_LIMIT |UNPARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| - -- SORT_MERGE_EXCHANGE [$$29(DESC), $$30(DESC) ] |PARTITIONED| + -- SORT_MERGE_EXCHANGE [$$27(DESC), $$28(DESC) ] |PARTITIONED| -- STREAM_LIMIT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- STABLE_SORT [topK: 5] [$$29(DESC), $$30(DESC)] |PARTITIONED| + -- STABLE_SORT [topK: 5] [$$27(DESC), $$28(DESC)] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- HYBRID_HASH_JOIN [$$29][$$38] |PARTITIONED| + -- HYBRID_HASH_JOIN [$$27][$$36] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| @@ -27,7 +27,7 @@ -- DATASOURCE_SCAN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- EMPTY_TUPLE_SOURCE |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$38] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$36] |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- STREAM_SELECT |PARTITIONED| -- SUBPLAN |PARTITIONED| http://git-wip-us.apache.org/repos/asf/asterixdb/blob/96fd4026/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1671.plan ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1671.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1671.plan index 6b370af..3aaaeb0 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1671.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1671.plan @@ -4,10 +4,10 @@ -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| - -- SORT_MERGE_EXCHANGE [$$11(ASC), $$12(ASC) ] |PARTITIONED| + -- SORT_MERGE_EXCHANGE [$$10(ASC), $$11(ASC) ] |PARTITIONED| -- STREAM_LIMIT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- STABLE_SORT [topK: 0] [$$11(ASC), $$12(ASC)] |PARTITIONED| + -- STABLE_SORT [topK: 0] [$$10(ASC), $$11(ASC)] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- ASSIGN |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| http://git-wip-us.apache.org/repos/asf/asterixdb/blob/96fd4026/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1806.plan ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1806.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1806.plan index 0ef1ee3..2439f0d 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1806.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1806.plan @@ -2,14 +2,14 @@ -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| - -- SORT_MERGE_EXCHANGE [$$16(ASC), $$17(ASC) ] |PARTITIONED| - -- SORT_GROUP_BY[$$112, $$113] |PARTITIONED| + -- SORT_MERGE_EXCHANGE [$$2(ASC), $$3(ASC) ] |PARTITIONED| + -- SORT_GROUP_BY[$$98, $$99] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_EXCHANGE [$$112, $$113] |PARTITIONED| - -- SORT_GROUP_BY[$$80, $$81] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$98, $$99] |PARTITIONED| + -- SORT_GROUP_BY[$$66, $$67] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| http://git-wip-us.apache.org/repos/asf/asterixdb/blob/96fd4026/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/exists.plan ---------------------------------------------------------------------- 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 3724559..1c404ab 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 @@ -2,14 +2,14 @@ -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| - -- SORT_MERGE_EXCHANGE [$$31(ASC) ] |PARTITIONED| - -- SORT_GROUP_BY[$$104] |PARTITIONED| + -- SORT_MERGE_EXCHANGE [$$9(ASC) ] |PARTITIONED| + -- SORT_GROUP_BY[$$82] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_EXCHANGE [$$104] |PARTITIONED| - -- SORT_GROUP_BY[$$81] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$82] |PARTITIONED| + -- SORT_GROUP_BY[$$59] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| @@ -21,25 +21,25 @@ -- STREAM_SELECT |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- SORT_GROUP_BY[$$101] |PARTITIONED| + -- SORT_GROUP_BY[$$79] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_EXCHANGE [$$101] |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$95] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$79] |PARTITIONED| + -- PRE_CLUSTERED_GROUP_BY[$$73] |PARTITIONED| { -- AGGREGATE |LOCAL| -- STREAM_SELECT |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- STABLE_SORT [$$95(ASC)] |PARTITIONED| + -- STABLE_SORT [$$73(ASC)] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- HYBRID_HASH_JOIN [$$90][$$87] |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$90] |PARTITIONED| + -- HYBRID_HASH_JOIN [$$68][$$65] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$68] |PARTITIONED| -- ASSIGN |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| @@ -66,7 +66,7 @@ -- DATASOURCE_SCAN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- EMPTY_TUPLE_SOURCE |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$87] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$65] |PARTITIONED| -- ASSIGN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- DATASOURCE_SCAN |PARTITIONED| http://git-wip-us.apache.org/repos/asf/asterixdb/blob/96fd4026/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in.plan ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in.plan index 9efd93d..8276df2 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in.plan @@ -2,13 +2,13 @@ -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| - -- SORT_MERGE_EXCHANGE [$$29(ASC) ] |PARTITIONED| - -- STABLE_SORT [$$29(ASC)] |PARTITIONED| + -- SORT_MERGE_EXCHANGE [$$26(ASC) ] |PARTITIONED| + -- STABLE_SORT [$$26(ASC)] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- STREAM_SELECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$22] |PARTITIONED| + -- PRE_CLUSTERED_GROUP_BY[$$19] |PARTITIONED| { -- AGGREGATE |LOCAL| -- STREAM_SELECT |LOCAL| @@ -17,7 +17,7 @@ -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- HYBRID_HASH_JOIN [$$22][$$10] |PARTITIONED| + -- HYBRID_HASH_JOIN [$$19][$$7] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- STREAM_SELECT |PARTITIONED| @@ -25,7 +25,7 @@ -- DATASOURCE_SCAN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- EMPTY_TUPLE_SOURCE |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$10] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$7] |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| http://git-wip-us.apache.org/repos/asf/asterixdb/blob/96fd4026/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_correlated.plan ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_correlated.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_correlated.plan index f967282..268b914 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_correlated.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_correlated.plan @@ -2,13 +2,13 @@ -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| - -- SORT_MERGE_EXCHANGE [$$34(ASC) ] |PARTITIONED| - -- STABLE_SORT [$$34(ASC)] |PARTITIONED| + -- SORT_MERGE_EXCHANGE [$$31(ASC) ] |PARTITIONED| + -- STABLE_SORT [$$31(ASC)] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- STREAM_SELECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$26] |PARTITIONED| + -- PRE_CLUSTERED_GROUP_BY[$$23] |PARTITIONED| { -- AGGREGATE |LOCAL| -- STREAM_SELECT |LOCAL| @@ -22,7 +22,7 @@ -- NESTED_TUPLE_SOURCE |LOCAL| } -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- HYBRID_HASH_JOIN [$$26][$$25] |PARTITIONED| + -- HYBRID_HASH_JOIN [$$23][$$22] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_SELECT |PARTITIONED| -- ASSIGN |PARTITIONED| @@ -30,7 +30,7 @@ -- DATASOURCE_SCAN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- EMPTY_TUPLE_SOURCE |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$25] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$22] |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| http://git-wip-us.apache.org/repos/asf/asterixdb/blob/96fd4026/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/not_exists.plan ---------------------------------------------------------------------- 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 139b084..b134499 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 @@ -2,14 +2,14 @@ -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| - -- SORT_MERGE_EXCHANGE [$$31(ASC) ] |PARTITIONED| - -- SORT_GROUP_BY[$$105] |PARTITIONED| + -- SORT_MERGE_EXCHANGE [$$9(ASC) ] |PARTITIONED| + -- SORT_GROUP_BY[$$83] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_EXCHANGE [$$105] |PARTITIONED| - -- SORT_GROUP_BY[$$82] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$83] |PARTITIONED| + -- SORT_GROUP_BY[$$60] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| @@ -21,25 +21,25 @@ -- STREAM_SELECT |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- SORT_GROUP_BY[$$102] |PARTITIONED| + -- SORT_GROUP_BY[$$80] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_EXCHANGE [$$102] |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$96] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$80] |PARTITIONED| + -- PRE_CLUSTERED_GROUP_BY[$$74] |PARTITIONED| { -- AGGREGATE |LOCAL| -- STREAM_SELECT |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- STABLE_SORT [$$96(ASC)] |PARTITIONED| + -- STABLE_SORT [$$74(ASC)] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- HYBRID_HASH_JOIN [$$91][$$88] |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$91] |PARTITIONED| + -- HYBRID_HASH_JOIN [$$69][$$66] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$69] |PARTITIONED| -- ASSIGN |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| @@ -66,7 +66,7 @@ -- DATASOURCE_SCAN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- EMPTY_TUPLE_SOURCE |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$88] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$66] |PARTITIONED| -- ASSIGN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- DATASOURCE_SCAN |PARTITIONED| http://git-wip-us.apache.org/repos/asf/asterixdb/blob/96fd4026/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/query-ASTERIXDB-1572.plan ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/query-ASTERIXDB-1572.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/query-ASTERIXDB-1572.plan index 66736df..a8f916c 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/query-ASTERIXDB-1572.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/query-ASTERIXDB-1572.plan @@ -5,46 +5,46 @@ -- STREAM_PROJECT |PARTITIONED| -- STREAM_SELECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$50] |PARTITIONED| + -- PRE_CLUSTERED_GROUP_BY[$$44] |PARTITIONED| { -- AGGREGATE |LOCAL| -- STREAM_SELECT |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- STABLE_SORT [$$50(ASC)] |PARTITIONED| + -- STABLE_SORT [$$44(ASC)] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- HYBRID_HASH_JOIN [$$50][$$11] |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$50] |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$48] |PARTITIONED| + -- HYBRID_HASH_JOIN [$$44][$$5] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$44] |PARTITIONED| + -- PRE_CLUSTERED_GROUP_BY[$$42] |PARTITIONED| { -- AGGREGATE |LOCAL| -- STREAM_SELECT |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- STABLE_SORT [$$48(ASC)] |PARTITIONED| + -- STABLE_SORT [$$42(ASC)] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- HYBRID_HASH_JOIN [$$48][$$10] |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$48] |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$46] |PARTITIONED| + -- HYBRID_HASH_JOIN [$$42][$$4] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$42] |PARTITIONED| + -- PRE_CLUSTERED_GROUP_BY[$$40] |PARTITIONED| { -- AGGREGATE |LOCAL| -- STREAM_SELECT |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- STABLE_SORT [$$46(ASC)] |PARTITIONED| + -- STABLE_SORT [$$40(ASC)] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- HYBRID_HASH_JOIN [$$46][$$9] |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$46] |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$39] |PARTITIONED| + -- HYBRID_HASH_JOIN [$$40][$$3] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$40] |PARTITIONED| + -- PRE_CLUSTERED_GROUP_BY[$$33] |PARTITIONED| { -- AGGREGATE |LOCAL| -- STREAM_SELECT |LOCAL| @@ -53,26 +53,26 @@ -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- HYBRID_HASH_JOIN [$$39][$$8] |PARTITIONED| + -- HYBRID_HASH_JOIN [$$33][$$2] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- DATASOURCE_SCAN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- EMPTY_TUPLE_SOURCE |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$8] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$2] |PARTITIONED| -- ASSIGN |UNPARTITIONED| -- UNNEST |UNPARTITIONED| -- EMPTY_TUPLE_SOURCE |UNPARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$9] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$3] |PARTITIONED| -- ASSIGN |UNPARTITIONED| -- UNNEST |UNPARTITIONED| -- EMPTY_TUPLE_SOURCE |UNPARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$10] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$4] |PARTITIONED| -- ASSIGN |UNPARTITIONED| -- UNNEST |UNPARTITIONED| -- EMPTY_TUPLE_SOURCE |UNPARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$11] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$5] |PARTITIONED| -- ASSIGN |UNPARTITIONED| -- UNNEST |UNPARTITIONED| -- EMPTY_TUPLE_SOURCE |UNPARTITIONED| http://git-wip-us.apache.org/repos/asf/asterixdb/blob/96fd4026/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1580.plan ---------------------------------------------------------------------- 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 80bb3f4..d3669c4 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 @@ -4,21 +4,21 @@ -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| - -- SORT_MERGE_EXCHANGE [$$85(ASC) ] |PARTITIONED| + -- SORT_MERGE_EXCHANGE [$$69(ASC) ] |PARTITIONED| -- STREAM_LIMIT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- STABLE_SORT [topK: 100] [$$85(ASC)] |PARTITIONED| + -- STABLE_SORT [topK: 100] [$$69(ASC)] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- STREAM_SELECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- SORT_GROUP_BY[$$95] |PARTITIONED| + -- SORT_GROUP_BY[$$79] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| } - -- HASH_PARTITION_EXCHANGE [$$95] |PARTITIONED| - -- SORT_GROUP_BY[$$73] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$79] |PARTITIONED| + -- SORT_GROUP_BY[$$57] |PARTITIONED| { -- AGGREGATE |LOCAL| -- NESTED_TUPLE_SOURCE |LOCAL| @@ -26,33 +26,33 @@ -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- HYBRID_HASH_JOIN [$$77][$$80] |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$77] |PARTITIONED| + -- HYBRID_HASH_JOIN [$$61][$$64] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$61] |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- HYBRID_HASH_JOIN [$$86][$$79] |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$86] |PARTITIONED| + -- HYBRID_HASH_JOIN [$$70][$$63] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$70] |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- HYBRID_HASH_JOIN [$$76][$$91] |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$76] |PARTITIONED| + -- HYBRID_HASH_JOIN [$$60][$$75] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$60] |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- HYBRID_HASH_JOIN [$$75][$$89] |PARTITIONED| + -- HYBRID_HASH_JOIN [$$59][$$73] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- ASSIGN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- DATASOURCE_SCAN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- EMPTY_TUPLE_SOURCE |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$89] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$73] |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- DATASOURCE_SCAN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- EMPTY_TUPLE_SOURCE |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$91] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$75] |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| http://git-wip-us.apache.org/repos/asf/asterixdb/blob/96fd4026/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1581-correlated.plan ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1581-correlated.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1581-correlated.plan index ec51b3e..9c17663 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1581-correlated.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1581-correlated.plan @@ -8,7 +8,7 @@ -- ASSIGN |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$119] |PARTITIONED| + -- PRE_CLUSTERED_GROUP_BY[$$101] |PARTITIONED| { -- AGGREGATE |LOCAL| -- AGGREGATE |LOCAL| @@ -18,13 +18,13 @@ -- NESTED_TUPLE_SOURCE |LOCAL| } -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- STABLE_SORT [$$119(ASC)] |PARTITIONED| + -- STABLE_SORT [$$101(ASC)] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- HYBRID_HASH_JOIN [$$119][$$120] |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$119] |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$107] |PARTITIONED| + -- HYBRID_HASH_JOIN [$$101][$$102] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$101] |PARTITIONED| + -- PRE_CLUSTERED_GROUP_BY[$$89] |PARTITIONED| { -- AGGREGATE |LOCAL| -- AGGREGATE |LOCAL| @@ -34,13 +34,13 @@ -- NESTED_TUPLE_SOURCE |LOCAL| } -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- STABLE_SORT [$$107(ASC)] |PARTITIONED| + -- STABLE_SORT [$$89(ASC)] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- HYBRID_HASH_JOIN [$$107][$$108] |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$107] |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$87] |PARTITIONED| + -- HYBRID_HASH_JOIN [$$89][$$90] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$89] |PARTITIONED| + -- PRE_CLUSTERED_GROUP_BY[$$69] |PARTITIONED| { -- AGGREGATE |LOCAL| -- AGGREGATE |LOCAL| @@ -50,7 +50,7 @@ -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- HYBRID_HASH_JOIN [$$87][$$97] |PARTITIONED| + -- HYBRID_HASH_JOIN [$$69][$$79] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| @@ -71,7 +71,7 @@ -- ASSIGN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- REPLICATE |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$144] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$126] |PARTITIONED| -- ASSIGN |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| @@ -83,23 +83,23 @@ -- DATASOURCE_SCAN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- EMPTY_TUPLE_SOURCE |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$108] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$90] |PARTITIONED| -- ASSIGN |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- HYBRID_HASH_JOIN [$$101][$$100] |PARTITIONED| + -- HYBRID_HASH_JOIN [$$83][$$82] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- REPLICATE |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$138] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$120] |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- STREAM_SELECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$143] |PARTITIONED| + -- PRE_CLUSTERED_GROUP_BY[$$125] |PARTITIONED| { -- AGGREGATE |LOCAL| -- AGGREGATE |LOCAL| @@ -109,7 +109,7 @@ -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- HYBRID_HASH_JOIN [$$143][$$144] |PARTITIONED| + -- HYBRID_HASH_JOIN [$$125][$$126] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- REPLICATE |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| @@ -119,7 +119,7 @@ -- EMPTY_TUPLE_SOURCE |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- REPLICATE |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$144] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$126] |PARTITIONED| -- ASSIGN |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| @@ -131,7 +131,7 @@ -- DATASOURCE_SCAN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- EMPTY_TUPLE_SOURCE |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$100] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$82] |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| @@ -144,13 +144,13 @@ -- DATASOURCE_SCAN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- EMPTY_TUPLE_SOURCE |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$120] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$102] |PARTITIONED| -- ASSIGN |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- HYBRID_HASH_JOIN [$$103][$$102] |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$103] |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$121] |PARTITIONED| + -- HYBRID_HASH_JOIN [$$85][$$84] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$85] |PARTITIONED| + -- PRE_CLUSTERED_GROUP_BY[$$103] |PARTITIONED| { -- AGGREGATE |LOCAL| -- AGGREGATE |LOCAL| @@ -159,18 +159,18 @@ -- NESTED_TUPLE_SOURCE |LOCAL| } -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- STABLE_SORT [$$121(ASC)] |PARTITIONED| + -- STABLE_SORT [$$103(ASC)] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- HYBRID_HASH_JOIN [$$121][$$124] |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$121] |PARTITIONED| + -- HYBRID_HASH_JOIN [$$103][$$106] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$103] |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- STREAM_SELECT |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$125] |PARTITIONED| + -- PRE_CLUSTERED_GROUP_BY[$$107] |PARTITIONED| { -- AGGREGATE |LOCAL| -- AGGREGATE |LOCAL| @@ -180,7 +180,7 @@ -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- HYBRID_HASH_JOIN [$$125][$$126] |PARTITIONED| + -- HYBRID_HASH_JOIN [$$107][$$108] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- REPLICATE |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| @@ -198,7 +198,7 @@ -- ASSIGN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- REPLICATE |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$144] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$126] |PARTITIONED| -- ASSIGN |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| @@ -210,20 +210,20 @@ -- DATASOURCE_SCAN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- EMPTY_TUPLE_SOURCE |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$124] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$106] |PARTITIONED| -- ASSIGN |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- HYBRID_HASH_JOIN [$$138][$$137] |PARTITIONED| + -- HYBRID_HASH_JOIN [$$120][$$119] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- REPLICATE |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$138] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$120] |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- STREAM_SELECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$143] |PARTITIONED| + -- PRE_CLUSTERED_GROUP_BY[$$125] |PARTITIONED| { -- AGGREGATE |LOCAL| -- AGGREGATE |LOCAL| @@ -233,7 +233,7 @@ -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- HYBRID_HASH_JOIN [$$143][$$144] |PARTITIONED| + -- HYBRID_HASH_JOIN [$$125][$$126] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- REPLICATE |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| @@ -243,7 +243,7 @@ -- EMPTY_TUPLE_SOURCE |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- REPLICATE |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$144] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$126] |PARTITIONED| -- ASSIGN |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| @@ -255,7 +255,7 @@ -- DATASOURCE_SCAN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- EMPTY_TUPLE_SOURCE |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$137] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$119] |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| @@ -266,7 +266,7 @@ -- DATASOURCE_SCAN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- EMPTY_TUPLE_SOURCE |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$102] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$84] |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| http://git-wip-us.apache.org/repos/asf/asterixdb/blob/96fd4026/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1581.plan ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1581.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1581.plan index 16ebd6f..70948fb 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1581.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1581.plan @@ -16,7 +16,7 @@ -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$116] |PARTITIONED| + -- PRE_CLUSTERED_GROUP_BY[$$98] |PARTITIONED| { -- AGGREGATE |LOCAL| -- AGGREGATE |LOCAL| @@ -26,13 +26,13 @@ -- NESTED_TUPLE_SOURCE |LOCAL| } -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- STABLE_SORT [$$116(ASC)] |PARTITIONED| + -- STABLE_SORT [$$98(ASC)] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- HYBRID_HASH_JOIN [$$116][$$117] |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$116] |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$54] |PARTITIONED| + -- HYBRID_HASH_JOIN [$$98][$$99] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$98] |PARTITIONED| + -- PRE_CLUSTERED_GROUP_BY[$$36] |PARTITIONED| { -- AGGREGATE |LOCAL| -- AGGREGATE |LOCAL| @@ -42,17 +42,17 @@ -- NESTED_TUPLE_SOURCE |LOCAL| } -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- STABLE_SORT [$$54(ASC)] |PARTITIONED| + -- STABLE_SORT [$$36(ASC)] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- HYBRID_HASH_JOIN [$$54][$$109] |PARTITIONED| + -- HYBRID_HASH_JOIN [$$36][$$91] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ASSIGN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- REPLICATE |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$118] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$100] |PARTITIONED| -- STREAM_PROJECT |UNPARTITIONED| -- ASSIGN |UNPARTITIONED| -- ONE_TO_ONE_EXCHANGE |UNPARTITIONED| @@ -70,7 +70,7 @@ -- DATASOURCE_SCAN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- EMPTY_TUPLE_SOURCE |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$109] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$91] |PARTITIONED| -- ASSIGN |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- STREAM_SELECT |PARTITIONED| @@ -101,7 +101,7 @@ -- DATASOURCE_SCAN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- EMPTY_TUPLE_SOURCE |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$117] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$99] |PARTITIONED| -- ASSIGN |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- STREAM_SELECT |PARTITIONED| @@ -115,7 +115,7 @@ -- STREAM_SELECT |PARTITIONED| -- ASSIGN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- PRE_CLUSTERED_GROUP_BY[$$118] |PARTITIONED| + -- PRE_CLUSTERED_GROUP_BY[$$100] |PARTITIONED| { -- AGGREGATE |LOCAL| -- AGGREGATE |LOCAL| @@ -124,14 +124,14 @@ -- NESTED_TUPLE_SOURCE |LOCAL| } -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- STABLE_SORT [$$118(ASC)] |PARTITIONED| + -- STABLE_SORT [$$100(ASC)] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - -- HYBRID_HASH_JOIN [$$118][$$119] |PARTITIONED| + -- HYBRID_HASH_JOIN [$$100][$$101] |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- REPLICATE |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$118] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$100] |PARTITIONED| -- STREAM_PROJECT |UNPARTITIONED| -- ASSIGN |UNPARTITIONED| -- ONE_TO_ONE_EXCHANGE |UNPARTITIONED| @@ -149,7 +149,7 @@ -- DATASOURCE_SCAN |PARTITIONED| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| -- EMPTY_TUPLE_SOURCE |PARTITIONED| - -- HASH_PARTITION_EXCHANGE [$$119] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$101] |PARTITIONED| -- ASSIGN |PARTITIONED| -- STREAM_PROJECT |PARTITIONED| -- STREAM_SELECT |PARTITIONED|