[ASTERIXDB-1753][SQL] Disable auto-plural for group-by.

- user model changes: do not perform auto-scalar-to-plural
  transition for variables that are defined prior to a group-by
  group clause after the group-by clause.
- storage format changes: no
- interface changes: no

details:
- migrated existing test queries that use auto-plural;
- added a negative test query.

Change-Id: I5d6383fc7453fe7537fc291c3483708b59df3871
Reviewed-on: https://asterix-gerrit.ics.uci.edu/1860
Reviewed-by: Dmitry Lychagin <[email protected]>
Sonar-Qube: Jenkins <[email protected]>
Integration-Tests: Jenkins <[email protected]>
Tested-by: Jenkins <[email protected]>
BAD: Jenkins <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/9c2e9f0e
Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/9c2e9f0e
Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/9c2e9f0e

Branch: refs/heads/master
Commit: 9c2e9f0ef1ab3a431582120cc40ffbd6a4dd7823
Parents: b55ff7a
Author: Yingyi Bu <[email protected]>
Authored: Fri Jun 30 15:01:32 2017 -0700
Committer: Yingyi Bu <[email protected]>
Committed: Fri Jun 30 16:43:48 2017 -0700

----------------------------------------------------------------------
 .../results/aggregate/constant-gby-agg.plan     |   6 +-
 .../results/query-ASTERIXDB-1806.plan           |   6 +-
 .../optimizerts/results/subquery/exists.plan    |  20 +--
 .../results/subquery/not_exists.plan            |  20 +--
 .../results/tpcds/query-ASTERIXDB-1580.plan     |  28 ++--
 .../tpcds/query-ASTERIXDB-1581-correlated.plan  |  72 ++++-----
 .../results/tpcds/query-ASTERIXDB-1581.plan     |  30 ++--
 .../optimizerts/results/tpch/q12_shipping.plan  |  12 +-
 .../results/tpch/q12_shipping_broadcast.plan    |  10 +-
 .../results_parser_sqlpp/denorm-cust-order.ast  |   8 +-
 .../inlined_q18_large_volume_customer.ast       |   8 +-
 .../results_parser_sqlpp/nest_aggregate.ast     |   4 +-
 .../orderby-desc-using-gby.ast                  |   2 -
 .../results_parser_sqlpp/orders-aggreg.ast      |  14 +-
 .../q01_pricing_summary_report_nt.ast           |  35 ++++-
 .../q03_shipping_priority.ast                   |   4 +-
 .../q05_local_supplier_volume.ast               |   4 +-
 .../results_parser_sqlpp/query-issue550.ast     |   4 +-
 .../results_parser_sqlpp/query-issue562.ast     |  10 +-
 .../results_parser_sqlpp/query-issue697.ast     |   4 +-
 .../results_parser_sqlpp/query-issue785.ast     |   8 +-
 .../results_parser_sqlpp/query-issue810-2.ast   |  16 +-
 .../results_parser_sqlpp/query-issue810.ast     |   8 +-
 .../parserts/results_parser_sqlpp/2.ast         |   1 -
 .../results_parser_sqlpp/columnalias.ast        |  14 +-
 .../results_parser_sqlpp/columnalias2.ast       |  15 +-
 .../results_parser_sqlpp/columnalias3.ast       |  14 +-
 .../results_parser_sqlpp/nestedFLWOGR3.ast      |   1 -
 .../big_object_groupby.3.query.sqlpp            |   3 +-
 .../queries_sqlpp/flwor/at02/at02.3.query.sqlpp |   9 +-
 .../queries_sqlpp/flwor/at03/at03.3.query.sqlpp |   9 +-
 .../queries_sqlpp/flwor/at04/at04.3.query.sqlpp |   7 +-
 .../queries_sqlpp/flwor/at05/at05.3.query.sqlpp |  13 +-
 .../query-ASTERIXDB-883.2.update.sqlpp          |   3 +-
 .../query-issue550/query-issue550.3.query.sqlpp |   5 +-
 .../core-01-error/core-01-error.1.ddl.sqlpp     |  29 ++++
 .../core-01-error/core-01-error.2.update.sqlpp  |  32 ++++
 .../core-01-error/core-01-error.3.query.sqlpp   |  29 ++++
 .../core-02-error/core-02-error.1.ddl.sqlpp     |  29 ++++
 .../core-02-error/core-02-error.2.update.sqlpp  |  32 ++++
 .../core-02-error/core-02-error.3.query.sqlpp   |  30 ++++
 .../group-by/having-2/having-2.3.query.sqlpp    |   2 +-
 .../sugar-01-negative.3.query.sqlpp             |   2 +-
 .../sugar-04-2/sugar-04-2.3.query.sqlpp         |   7 +-
 .../group-by/sugar-04/sugar-04.3.query.sqlpp    |   7 +-
 .../hdfs/hdfs_02/hdfs_02.3.query.sqlpp          |   3 +-
 .../hdfs/hdfs_03/hdfs_03.3.query.sqlpp          |   3 +-
 .../hdfs_shortcircuit.3.query.sqlpp             |   3 +-
 .../issue_251_dataset_hint_6.3.query.sqlpp      |   3 +-
 .../groupby-orderby-count.3.query.sqlpp         |   7 +-
 .../query-issue456/query-issue456.3.query.sqlpp |   5 +-
 .../count-nullable/count-nullable.3.query.sqlpp |   3 +-
 ...ell-aggregation-with-filtering.3.query.sqlpp |  11 +-
 .../cell-aggregation.3.query.sqlpp              |   5 +-
 .../q01_pricing_summary_report_nt.3.query.sqlpp |  31 ++--
 .../overlap_bins_gby_0.3.query.sqlpp            |   5 +-
 .../overlap_bins_gby_1.3.query.sqlpp            |  13 +-
 .../query-ASTERIXDB-1063.23.query.sqlpp         |  11 +-
 .../tinysocial-suite.15.query.sqlpp             |   2 +-
 .../tinysocial-suite.16.query.sqlpp             |   2 +-
 .../tinysocial-suite.17.query.sqlpp             |   2 +-
 .../query-ASTERIXDB-1063.23.query.sqlpp         |  12 +-
 .../tinysocial-suite.15.query.sqlpp             |   2 +-
 .../tinysocial-suite.16.query.sqlpp             |   2 +-
 .../tinysocial-suite.17.query.sqlpp             |   2 +-
 .../queries_sqlpp/tpcds/q24a/q24a.3.query.sqlpp |   4 +-
 .../queries_sqlpp/tpcds/q24b/q24b.3.query.sqlpp |   4 +-
 .../q01_pricing_summary_report_nt.3.query.sqlpp |  48 +++---
 .../q02_minimum_cost_supplier.3.query.sqlpp     |   7 +-
 .../q03_shipping_priority_nt.3.query.sqlpp      |   5 +-
 .../q04_order_priority.3.query.sqlpp            |   2 +-
 .../q05_local_supplier_volume.3.query.sqlpp     |   5 +-
 .../q06_forecast_revenue_change.3.query.sqlpp   |   2 +-
 .../q07_volume_shipping.3.query.sqlpp           |   7 +-
 .../q08_national_market_share.3.query.sqlpp     |  11 +-
 .../q09_product_type_profit_nt.3.query.sqlpp    |   9 +-
 .../q10_returned_item.3.query.sqlpp             |   5 +-
 .../q10_returned_item_int64.3.query.sqlpp       |   5 +-
 .../q11_important_stock.3.query.sqlpp           |  17 ++-
 .../q12_shipping/q12_shipping.3.query.sqlpp     |  10 +-
 .../q13_customer_distribution.3.query.sqlpp     |   8 +-
 .../q14_promotion_effect.3.query.sqlpp          |  19 +--
 .../q15_top_supplier.3.query.sqlpp              |  15 +-
 ...16_parts_supplier_relationship.3.query.sqlpp |   5 +-
 .../q17_large_gby_variant.3.query.sqlpp         |  42 +++---
 ...7_small_quantity_order_revenue.3.query.sqlpp |  15 +-
 .../q18_large_volume_customer.3.query.sqlpp     |  16 +-
 .../q19_discounted_revenue.3.query.sqlpp        |   2 +-
 .../q20_potential_part_promotion.3.query.sqlpp  |   5 +-
 ...pliers_who_kept_orders_waiting.3.query.sqlpp |  47 +++---
 .../q22_global_sales_opportunity.3.query.sqlpp  |   7 +-
 .../query-issue601/query-issue601.3.query.sqlpp |   9 +-
 .../query-issue638/query-issue638.3.query.sqlpp |  11 +-
 .../query-issue785-2.3.query.sqlpp              |  34 +++--
 .../query-issue785/query-issue785.3.query.sqlpp |  34 +++--
 .../query-issue786/query-issue786.3.query.sqlpp |  15 +-
 .../query-issue785-2.3.query.sqlpp              |   5 +-
 .../query-issue785/query-issue785.3.query.sqlpp |   3 +-
 .../query-issue810-2.3.query.sqlpp              |  11 +-
 .../query-issue810-3.3.query.sqlpp              |   5 +-
 .../query-issue810/query-issue810.3.query.sqlpp |  13 +-
 .../query-issue785-2.3.query.sqlpp              |   3 +-
 .../query-issue785/query-issue785.3.query.sqlpp |   5 +-
 .../query-issue810-2.3.query.sqlpp              |  11 +-
 .../query-issue810-3.3.query.sqlpp              |  21 +--
 .../query-issue810/query-issue810.3.query.sqlpp |   9 +-
 .../nest_aggregate/nest_aggregate.3.query.sqlpp |   9 +-
 .../nest_aggregate2.3.query.sqlpp               |   7 +-
 .../q01_pricing_summary_report_nt.3.query.sqlpp |  48 +++---
 .../q02_minimum_cost_supplier.3.query.sqlpp     |   7 +-
 .../q03_shipping_priority_nt.3.query.sqlpp      |   5 +-
 .../q05_local_supplier_volume.3.query.sqlpp     |   5 +-
 .../q06_forecast_revenue_change.3.query.sqlpp   |   2 +-
 .../q07_volume_shipping.3.query.sqlpp           |   7 +-
 .../q08_national_market_share.3.query.sqlpp     |   9 +-
 .../q09_product_type_profit_nt.3.query.sqlpp    |   3 +-
 .../q10_returned_item.3.query.sqlpp             |   7 +-
 .../q10_returned_item_int64.3.query.sqlpp       |   7 +-
 .../q11_important_stock.3.query.sqlpp           |  17 ++-
 .../q12_shipping/q12_shipping.3.query.sqlpp     |  12 +-
 .../q13_customer_distribution.3.query.sqlpp     |   8 +-
 .../q14_promotion_effect.3.query.sqlpp          |  11 +-
 .../q15_top_supplier.3.query.sqlpp              |  15 +-
 ...16_parts_supplier_relationship.3.query.sqlpp |   5 +-
 .../q17_large_gby_variant.3.query.sqlpp         |  42 +++---
 ...7_small_quantity_order_revenue.3.query.sqlpp |   7 +-
 .../q18_large_volume_customer.3.query.sqlpp     |  12 +-
 .../q19_discounted_revenue.3.query.sqlpp        |   2 +-
 .../q20_potential_part_promotion.3.query.sqlpp  |   5 +-
 ...pliers_who_kept_orders_waiting.3.query.sqlpp |  21 +--
 .../q22_global_sales_opportunity.3.query.sqlpp  |   7 +-
 .../query-issue562/query-issue562.3.query.sqlpp |   9 +-
 .../query-issue601/query-issue601.3.query.sqlpp |   3 +-
 .../query-issue785-2.3.query.sqlpp              |  32 ++--
 .../query-issue785/query-issue785.3.query.sqlpp |  32 ++--
 .../query-issue786/query-issue786.3.query.sqlpp |  13 +-
 .../query-issue810-2.3.query.sqlpp              |  11 +-
 .../query-issue810-3.3.query.sqlpp              |  29 ++--
 .../query-issue810/query-issue810.3.query.sqlpp |  17 ++-
 .../query-issue827/query-issue827.3.query.sqlpp |   4 +-
 .../nest_aggregate/nest_aggregate.3.query.sqlpp |   9 +-
 .../nest_aggregate2.3.query.sqlpp               |   7 +-
 .../q01_pricing_summary_report_nt.3.query.sqlpp |  31 ++--
 .../q02_minimum_cost_supplier.3.query.sqlpp     |   5 +-
 .../q03_shipping_priority_nt.3.query.sqlpp      |   5 +-
 .../q05_local_supplier_volume.3.query.sqlpp     |   5 +-
 .../q07_volume_shipping.3.query.sqlpp           |   7 +-
 .../q08_national_market_share.3.query.sqlpp     |   5 +-
 .../q09_product_type_profit_nt.3.query.sqlpp    |   3 +-
 .../q10_returned_item.3.query.sqlpp             |   7 +-
 .../q10_returned_item_int64.3.query.sqlpp       |   7 +-
 .../q11_important_stock.3.query.sqlpp           |  13 +-
 .../q12_shipping/q12_shipping.3.query.sqlpp     |  11 +-
 .../q13_customer_distribution.3.query.sqlpp     |   6 +-
 .../q14_promotion_effect.3.query.sqlpp          |   6 +-
 .../q15_top_supplier.3.query.sqlpp              |  11 +-
 ...16_parts_supplier_relationship.3.query.sqlpp |   5 +-
 .../q17_large_gby_variant.3.query.sqlpp         |  26 ++--
 ...7_small_quantity_order_revenue.3.query.sqlpp |   7 +-
 .../q18_large_volume_customer.3.query.sqlpp     |  12 +-
 .../q20_potential_part_promotion.3.query.sqlpp  |   3 +-
 ...pliers_who_kept_orders_waiting.3.query.sqlpp |  21 +--
 .../q22_global_sales_opportunity.3.query.sqlpp  |   5 +-
 .../query-issue562/query-issue562.3.query.sqlpp |   9 +-
 .../query-issue601/query-issue601.3.query.sqlpp |   3 +-
 .../query-issue638/query-issue638.3.query.sqlpp |   5 +-
 .../query-issue785-2.3.query.sqlpp              |  26 ++--
 .../query-issue785/query-issue785.3.query.sqlpp |  26 ++--
 .../query-issue786/query-issue786.3.query.sqlpp |  13 +-
 .../query-issue810-2.3.query.sqlpp              |  11 +-
 .../query-issue810-3.3.query.sqlpp              |  17 ++-
 .../query-issue810/query-issue810.3.query.sqlpp |  17 ++-
 .../query-issue827/query-issue827.3.query.sqlpp |   4 +-
 .../explain_field_access.1.adm                  |  30 ++--
 .../explain_field_access_closed.1.adm           |  26 ++--
 .../big_object_groupby/big_object_groupby.3.ast |  15 +-
 .../results_parser_sqlpp/flwor/at02/at02.3.ast  |  14 +-
 .../results_parser_sqlpp/flwor/at03/at03.3.ast  |  14 +-
 .../results_parser_sqlpp/flwor/at04/at04.3.ast  |  14 +-
 .../results_parser_sqlpp/flwor/at05/at05.3.ast  |  26 +++-
 .../results_parser_sqlpp/flwor/at06/at06.3.ast  |   6 +-
 .../flwor/query-issue550/query-issue550.3.ast   |   9 +-
 .../hdfs/hdfs_02/hdfs_02.3.ast                  |  15 +-
 .../hdfs/hdfs_03/hdfs_03.3.ast                  |  15 +-
 .../hdfs_shortcircuit/hdfs_shortcircuit.3.ast   |  15 +-
 .../issue_251_dataset_hint_6.3.ast              |  15 +-
 .../groupby-orderby-count.3.ast                 |  28 +++-
 .../query-issue456/query-issue456.3.ast         |  16 +-
 .../count-nullable/count-nullable.3.ast         |  15 +-
 .../cell-aggregation-with-filtering.3.ast       |  11 +-
 .../cell-aggregation/cell-aggregation.3.ast     |  15 +-
 .../q01_pricing_summary_report_nt.3.ast         | 103 ++++++++-----
 .../overlap_bins_gby_0/overlap_bins_gby_0.3.ast |  15 +-
 .../overlap_bins_gby_1/overlap_bins_gby_1.3.ast |  27 ++--
 .../tinysocial-suite.15.ast                     |   5 +-
 .../tinysocial-suite.16.ast                     |   5 +-
 .../tinysocial-suite.17.ast                     |   5 +-
 .../tinysocial-suite.23.ast                     |  29 ++--
 .../tinysocial-suite.26.ast                     |  12 +-
 .../tinysocial-suite/tinysocial-suite.15.ast    |   5 +-
 .../tinysocial-suite/tinysocial-suite.16.ast    |   5 +-
 .../tinysocial-suite/tinysocial-suite.17.ast    |   5 +-
 .../tinysocial-suite/tinysocial-suite.23.ast    |  29 ++--
 .../q01_pricing_summary_report_nt.3.ast         |  82 +++++++----
 .../q02_minimum_cost_supplier.3.ast             |   8 +-
 .../q03_shipping_priority_nt.3.ast              |  17 ++-
 .../q04_order_priority/q04_order_priority.3.ast |  11 +-
 .../q05_local_supplier_volume.3.ast             |  15 +-
 .../q07_volume_shipping.3.ast                   |  14 +-
 .../q08_national_market_share.3.ast             |  21 ++-
 .../q09_product_type_profit_nt.3.ast            |   9 +-
 .../q10_returned_item/q10_returned_item.3.ast   |  21 ++-
 .../q10_returned_item_int64.3.ast               |  21 ++-
 .../q11_important_stock.3.ast                   |  14 +-
 .../q12_shipping/q12_shipping.3.ast             |  26 +++-
 .../q13_customer_distribution.3.ast             |  36 +++--
 .../q14_promotion_effect.3.ast                  |  35 ++++-
 .../q15_top_supplier/q15_top_supplier.3.ast     |  13 +-
 .../q16_parts_supplier_relationship.3.ast       |  17 ++-
 .../q17_large_gby_variant.3.ast                 | 145 ++++++++++++++++---
 .../q17_small_quantity_order_revenue.3.ast      |  94 ++++++------
 .../q18_large_volume_customer.3.ast             |  74 +++++++---
 .../q20_potential_part_promotion.3.ast          |  16 +-
 .../q21_suppliers_who_kept_orders_waiting.3.ast | 113 +++++++++++----
 .../q22_global_sales_opportunity.3.ast          |  28 +++-
 .../query-issue601/query-issue601.3.ast         |  38 ++++-
 .../query-issue638/query-issue638.3.ast         |  11 +-
 .../query-issue785-2/query-issue785-2.3.ast     |  42 +++---
 .../query-issue785/query-issue785.3.ast         |  44 +++---
 .../query-issue786/query-issue786.3.ast         |  11 +-
 .../tpch/nest_aggregate/nest_aggregate.3.ast    |  11 +-
 .../q01_pricing_summary_report_nt.3.ast         |  80 +++++++---
 .../q02_minimum_cost_supplier.3.ast             |   8 +-
 .../q03_shipping_priority_nt.3.ast              |  17 ++-
 .../q05_local_supplier_volume.3.ast             |  15 +-
 .../q07_volume_shipping.3.ast                   |  14 +-
 .../q08_national_market_share.3.ast             |  28 +++-
 .../q09_product_type_profit_nt.3.ast            |  16 +-
 .../q10_returned_item/q10_returned_item.3.ast   |  14 +-
 .../q10_returned_item_int64.3.ast               |  14 +-
 .../q11_important_stock.3.ast                   |  14 +-
 .../tpch/q12_shipping/q12_shipping.3.ast        |  28 +++-
 .../q13_customer_distribution.3.ast             |  36 +++--
 .../q14_promotion_effect.3.ast                  |  30 +++-
 .../q15_top_supplier/q15_top_supplier.3.ast     |  13 +-
 .../q16_parts_supplier_relationship.3.ast       |  17 ++-
 .../q17_large_gby_variant.3.ast                 | 145 +++++++++++++++++--
 .../q18_large_volume_customer.3.ast             |  36 ++++-
 .../q20_potential_part_promotion.3.ast          |  16 +-
 .../q21_suppliers_who_kept_orders_waiting.3.ast |  71 +++++++--
 .../q22_global_sales_opportunity.3.ast          |  28 +++-
 .../tpch/query-issue562/query-issue562.3.ast    |  21 ++-
 .../tpch/query-issue601/query-issue601.3.ast    |  30 ++--
 .../tpch/query-issue638/query-issue638.3.ast    |  11 +-
 .../query-issue785-2/query-issue785-2.3.ast     |  32 ++--
 .../tpch/query-issue785/query-issue785.3.ast    |  34 +++--
 .../tpch/query-issue786/query-issue786.3.ast    |  11 +-
 .../query-issue810-2/query-issue810-2.3.ast     |  31 +++-
 .../query-issue810-3/query-issue810-3.3.ast     |  64 +++++++-
 .../tpch/query-issue810/query-issue810.3.ast    |  26 +++-
 .../resources/runtimets/testsuite_sqlpp.xml     |  14 +-
 .../rewrites/visitor/SqlppGroupByVisitor.java   |  17 +--
 262 files changed, 3069 insertions(+), 1435 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/asterixdb/blob/9c2e9f0e/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 d6399f7..26601ba 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[$$20]  |PARTITIONED|
+          -- SORT_GROUP_BY[$$18]  |PARTITIONED|
                   {
                     -- AGGREGATE  |LOCAL|
                       -- NESTED_TUPLE_SOURCE  |LOCAL|
                   }
-            -- HASH_PARTITION_EXCHANGE [$$20]  |PARTITIONED|
-              -- SORT_GROUP_BY[$$16]  |PARTITIONED|
+            -- HASH_PARTITION_EXCHANGE [$$18]  |PARTITIONED|
+              -- SORT_GROUP_BY[$$14]  |PARTITIONED|
                       {
                         -- AGGREGATE  |LOCAL|
                           -- NESTED_TUPLE_SOURCE  |LOCAL|

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/9c2e9f0e/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 7ea82a1..ad30823 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
@@ -3,13 +3,13 @@
     -- STREAM_PROJECT  |PARTITIONED|
       -- ASSIGN  |PARTITIONED|
         -- SORT_MERGE_EXCHANGE [$$l_returnflag(ASC), $$l_linestatus(ASC) ]  
|PARTITIONED|
-          -- SORT_GROUP_BY[$$98, $$99]  |PARTITIONED|
+          -- SORT_GROUP_BY[$$96, $$97]  |PARTITIONED|
                   {
                     -- AGGREGATE  |LOCAL|
                       -- NESTED_TUPLE_SOURCE  |LOCAL|
                   }
-            -- HASH_PARTITION_EXCHANGE [$$98, $$99]  |PARTITIONED|
-              -- SORT_GROUP_BY[$$66, $$67]  |PARTITIONED|
+            -- HASH_PARTITION_EXCHANGE [$$96, $$97]  |PARTITIONED|
+              -- SORT_GROUP_BY[$$64, $$65]  |PARTITIONED|
                       {
                         -- AGGREGATE  |LOCAL|
                           -- NESTED_TUPLE_SOURCE  |LOCAL|

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/9c2e9f0e/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 3b92cdd..3f47dac 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,13 +3,13 @@
     -- STREAM_PROJECT  |PARTITIONED|
       -- ASSIGN  |PARTITIONED|
         -- SORT_MERGE_EXCHANGE [$$cntrycode(ASC) ]  |PARTITIONED|
-          -- SORT_GROUP_BY[$$82]  |PARTITIONED|
+          -- SORT_GROUP_BY[$$78]  |PARTITIONED|
                   {
                     -- AGGREGATE  |LOCAL|
                       -- NESTED_TUPLE_SOURCE  |LOCAL|
                   }
-            -- HASH_PARTITION_EXCHANGE [$$82]  |PARTITIONED|
-              -- SORT_GROUP_BY[$$59]  |PARTITIONED|
+            -- HASH_PARTITION_EXCHANGE [$$78]  |PARTITIONED|
+              -- SORT_GROUP_BY[$$55]  |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[$$79]  |PARTITIONED|
+                              -- SORT_GROUP_BY[$$75]  |PARTITIONED|
                                       {
                                         -- AGGREGATE  |LOCAL|
                                           -- NESTED_TUPLE_SOURCE  |LOCAL|
                                       }
-                                -- HASH_PARTITION_EXCHANGE [$$79]  
|PARTITIONED|
-                                  -- PRE_CLUSTERED_GROUP_BY[$$73]  
|PARTITIONED|
+                                -- HASH_PARTITION_EXCHANGE [$$75]  
|PARTITIONED|
+                                  -- PRE_CLUSTERED_GROUP_BY[$$69]  
|PARTITIONED|
                                           {
                                             -- AGGREGATE  |LOCAL|
                                               -- STREAM_SELECT  |LOCAL|
                                                 -- NESTED_TUPLE_SOURCE  |LOCAL|
                                           }
                                     -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                      -- STABLE_SORT [$$73(ASC)]  |PARTITIONED|
+                                      -- STABLE_SORT [$$69(ASC)]  |PARTITIONED|
                                         -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                                           -- STREAM_PROJECT  |PARTITIONED|
                                             -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
-                                              -- HYBRID_HASH_JOIN [$$68][$$65] 
 |PARTITIONED|
-                                                -- HASH_PARTITION_EXCHANGE 
[$$68]  |PARTITIONED|
+                                              -- HYBRID_HASH_JOIN [$$64][$$61] 
 |PARTITIONED|
+                                                -- HASH_PARTITION_EXCHANGE 
[$$64]  |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 
[$$65]  |PARTITIONED|
+                                                -- HASH_PARTITION_EXCHANGE 
[$$61]  |PARTITIONED|
                                                   -- ASSIGN  |PARTITIONED|
                                                     -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
                                                       -- DATASOURCE_SCAN  
|PARTITIONED|

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/9c2e9f0e/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 06257a1..311ab6d 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,13 +3,13 @@
     -- STREAM_PROJECT  |PARTITIONED|
       -- ASSIGN  |PARTITIONED|
         -- SORT_MERGE_EXCHANGE [$$cntrycode(ASC) ]  |PARTITIONED|
-          -- SORT_GROUP_BY[$$83]  |PARTITIONED|
+          -- SORT_GROUP_BY[$$79]  |PARTITIONED|
                   {
                     -- AGGREGATE  |LOCAL|
                       -- NESTED_TUPLE_SOURCE  |LOCAL|
                   }
-            -- HASH_PARTITION_EXCHANGE [$$83]  |PARTITIONED|
-              -- SORT_GROUP_BY[$$60]  |PARTITIONED|
+            -- HASH_PARTITION_EXCHANGE [$$79]  |PARTITIONED|
+              -- SORT_GROUP_BY[$$56]  |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[$$80]  |PARTITIONED|
+                              -- SORT_GROUP_BY[$$76]  |PARTITIONED|
                                       {
                                         -- AGGREGATE  |LOCAL|
                                           -- NESTED_TUPLE_SOURCE  |LOCAL|
                                       }
-                                -- HASH_PARTITION_EXCHANGE [$$80]  
|PARTITIONED|
-                                  -- PRE_CLUSTERED_GROUP_BY[$$74]  
|PARTITIONED|
+                                -- HASH_PARTITION_EXCHANGE [$$76]  
|PARTITIONED|
+                                  -- PRE_CLUSTERED_GROUP_BY[$$70]  
|PARTITIONED|
                                           {
                                             -- AGGREGATE  |LOCAL|
                                               -- STREAM_SELECT  |LOCAL|
                                                 -- NESTED_TUPLE_SOURCE  |LOCAL|
                                           }
                                     -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                      -- STABLE_SORT [$$74(ASC)]  |PARTITIONED|
+                                      -- STABLE_SORT [$$70(ASC)]  |PARTITIONED|
                                         -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                                           -- STREAM_PROJECT  |PARTITIONED|
                                             -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
-                                              -- HYBRID_HASH_JOIN [$$69][$$66] 
 |PARTITIONED|
-                                                -- HASH_PARTITION_EXCHANGE 
[$$69]  |PARTITIONED|
+                                              -- HYBRID_HASH_JOIN [$$65][$$62] 
 |PARTITIONED|
+                                                -- HASH_PARTITION_EXCHANGE 
[$$65]  |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 
[$$66]  |PARTITIONED|
+                                                -- HASH_PARTITION_EXCHANGE 
[$$62]  |PARTITIONED|
                                                   -- ASSIGN  |PARTITIONED|
                                                     -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
                                                       -- DATASOURCE_SCAN  
|PARTITIONED|

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/9c2e9f0e/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 d3669c4..78d1566 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 [$$69(ASC) ]  |PARTITIONED|
+            -- SORT_MERGE_EXCHANGE [$$59(ASC) ]  |PARTITIONED|
               -- STREAM_LIMIT  |PARTITIONED|
                 -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                  -- STABLE_SORT [topK: 100] [$$69(ASC)]  |PARTITIONED|
+                  -- STABLE_SORT [topK: 100] [$$59(ASC)]  |PARTITIONED|
                     -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                       -- STREAM_PROJECT  |PARTITIONED|
                         -- STREAM_SELECT  |PARTITIONED|
                           -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                            -- SORT_GROUP_BY[$$79]  |PARTITIONED|
+                            -- SORT_GROUP_BY[$$69]  |PARTITIONED|
                                     {
                                       -- AGGREGATE  |LOCAL|
                                         -- NESTED_TUPLE_SOURCE  |LOCAL|
                                     }
-                              -- HASH_PARTITION_EXCHANGE [$$79]  |PARTITIONED|
-                                -- SORT_GROUP_BY[$$57]  |PARTITIONED|
+                              -- HASH_PARTITION_EXCHANGE [$$69]  |PARTITIONED|
+                                -- SORT_GROUP_BY[$$47]  |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 [$$61][$$64]  
|PARTITIONED|
-                                          -- HASH_PARTITION_EXCHANGE [$$61]  
|PARTITIONED|
+                                        -- HYBRID_HASH_JOIN [$$51][$$54]  
|PARTITIONED|
+                                          -- HASH_PARTITION_EXCHANGE [$$51]  
|PARTITIONED|
                                             -- STREAM_PROJECT  |PARTITIONED|
                                               -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
-                                                -- HYBRID_HASH_JOIN 
[$$70][$$63]  |PARTITIONED|
-                                                  -- HASH_PARTITION_EXCHANGE 
[$$70]  |PARTITIONED|
+                                                -- HYBRID_HASH_JOIN 
[$$60][$$53]  |PARTITIONED|
+                                                  -- HASH_PARTITION_EXCHANGE 
[$$60]  |PARTITIONED|
                                                     -- STREAM_PROJECT  
|PARTITIONED|
                                                       -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
-                                                        -- HYBRID_HASH_JOIN 
[$$60][$$75]  |PARTITIONED|
-                                                          -- 
HASH_PARTITION_EXCHANGE [$$60]  |PARTITIONED|
+                                                        -- HYBRID_HASH_JOIN 
[$$50][$$65]  |PARTITIONED|
+                                                          -- 
HASH_PARTITION_EXCHANGE [$$50]  |PARTITIONED|
                                                             -- STREAM_PROJECT  
|PARTITIONED|
                                                               -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                -- 
HYBRID_HASH_JOIN [$$59][$$73]  |PARTITIONED|
+                                                                -- 
HYBRID_HASH_JOIN [$$49][$$63]  |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 [$$73]  |PARTITIONED|
+                                                                  -- 
HASH_PARTITION_EXCHANGE [$$63]  |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 [$$75]  |PARTITIONED|
+                                                          -- 
HASH_PARTITION_EXCHANGE [$$65]  |PARTITIONED|
                                                             -- STREAM_PROJECT  
|PARTITIONED|
                                                               -- ASSIGN  
|PARTITIONED|
                                                                 -- 
STREAM_PROJECT  |PARTITIONED|

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/9c2e9f0e/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 9c17663..5ac6b62 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[$$101]  |PARTITIONED|
+                    -- PRE_CLUSTERED_GROUP_BY[$$95]  |PARTITIONED|
                             {
                               -- AGGREGATE  |LOCAL|
                                 -- AGGREGATE  |LOCAL|
@@ -18,13 +18,13 @@
                                         -- NESTED_TUPLE_SOURCE  |LOCAL|
                             }
                       -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                        -- STABLE_SORT [$$101(ASC)]  |PARTITIONED|
+                        -- STABLE_SORT [$$95(ASC)]  |PARTITIONED|
                           -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                             -- STREAM_PROJECT  |PARTITIONED|
                               -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                -- HYBRID_HASH_JOIN [$$101][$$102]  
|PARTITIONED|
-                                  -- HASH_PARTITION_EXCHANGE [$$101]  
|PARTITIONED|
-                                    -- PRE_CLUSTERED_GROUP_BY[$$89]  
|PARTITIONED|
+                                -- HYBRID_HASH_JOIN [$$95][$$96]  |PARTITIONED|
+                                  -- HASH_PARTITION_EXCHANGE [$$95]  
|PARTITIONED|
+                                    -- PRE_CLUSTERED_GROUP_BY[$$83]  
|PARTITIONED|
                                             {
                                               -- AGGREGATE  |LOCAL|
                                                 -- AGGREGATE  |LOCAL|
@@ -34,13 +34,13 @@
                                                         -- NESTED_TUPLE_SOURCE 
 |LOCAL|
                                             }
                                       -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                        -- STABLE_SORT [$$89(ASC)]  
|PARTITIONED|
+                                        -- STABLE_SORT [$$83(ASC)]  
|PARTITIONED|
                                           -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                                             -- STREAM_PROJECT  |PARTITIONED|
                                               -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
-                                                -- HYBRID_HASH_JOIN 
[$$89][$$90]  |PARTITIONED|
-                                                  -- HASH_PARTITION_EXCHANGE 
[$$89]  |PARTITIONED|
-                                                    -- 
PRE_CLUSTERED_GROUP_BY[$$69]  |PARTITIONED|
+                                                -- HYBRID_HASH_JOIN 
[$$83][$$84]  |PARTITIONED|
+                                                  -- HASH_PARTITION_EXCHANGE 
[$$83]  |PARTITIONED|
+                                                    -- 
PRE_CLUSTERED_GROUP_BY[$$63]  |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 [$$69][$$79]  |PARTITIONED|
+                                                            -- 
HYBRID_HASH_JOIN [$$63][$$73]  |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 [$$126]  |PARTITIONED|
+                                                                        -- 
HASH_PARTITION_EXCHANGE [$$120]  |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 
[$$90]  |PARTITIONED|
+                                                  -- HASH_PARTITION_EXCHANGE 
[$$84]  |PARTITIONED|
                                                     -- ASSIGN  |PARTITIONED|
                                                       -- STREAM_PROJECT  
|PARTITIONED|
                                                         -- ONE_TO_ONE_EXCHANGE 
 |PARTITIONED|
-                                                          -- HYBRID_HASH_JOIN 
[$$83][$$82]  |PARTITIONED|
+                                                          -- HYBRID_HASH_JOIN 
[$$77][$$76]  |PARTITIONED|
                                                             -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                                                               -- 
STREAM_PROJECT  |PARTITIONED|
                                                                 -- ASSIGN  
|PARTITIONED|
                                                                   -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                                                                     -- 
REPLICATE  |PARTITIONED|
-                                                                      -- 
HASH_PARTITION_EXCHANGE [$$120]  |PARTITIONED|
+                                                                      -- 
HASH_PARTITION_EXCHANGE [$$114]  |PARTITIONED|
                                                                         -- 
STREAM_PROJECT  |PARTITIONED|
                                                                           -- 
ASSIGN  |PARTITIONED|
                                                                             -- 
STREAM_PROJECT  |PARTITIONED|
                                                                               
-- STREAM_SELECT  |PARTITIONED|
                                                                                
 -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                               
   -- PRE_CLUSTERED_GROUP_BY[$$125]  |PARTITIONED|
+                                                                               
   -- PRE_CLUSTERED_GROUP_BY[$$119]  |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 [$$125][$$126]  |PARTITIONED|
+                                                                               
           -- HYBRID_HASH_JOIN [$$119][$$120]  |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 [$$126]  |PARTITIONED|
+                                                                               
                 -- HASH_PARTITION_EXCHANGE [$$120]  |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 [$$82]  |PARTITIONED|
+                                                            -- 
HASH_PARTITION_EXCHANGE [$$76]  |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 [$$102]  
|PARTITIONED|
+                                  -- HASH_PARTITION_EXCHANGE [$$96]  
|PARTITIONED|
                                     -- ASSIGN  |PARTITIONED|
                                       -- STREAM_PROJECT  |PARTITIONED|
                                         -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                          -- HYBRID_HASH_JOIN [$$85][$$84]  
|PARTITIONED|
-                                            -- HASH_PARTITION_EXCHANGE [$$85]  
|PARTITIONED|
-                                              -- PRE_CLUSTERED_GROUP_BY[$$103] 
 |PARTITIONED|
+                                          -- HYBRID_HASH_JOIN [$$79][$$78]  
|PARTITIONED|
+                                            -- HASH_PARTITION_EXCHANGE [$$79]  
|PARTITIONED|
+                                              -- PRE_CLUSTERED_GROUP_BY[$$97]  
|PARTITIONED|
                                                       {
                                                         -- AGGREGATE  |LOCAL|
                                                           -- AGGREGATE  |LOCAL|
@@ -159,18 +159,18 @@
                                                                 -- 
NESTED_TUPLE_SOURCE  |LOCAL|
                                                       }
                                                 -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
-                                                  -- STABLE_SORT [$$103(ASC)]  
|PARTITIONED|
+                                                  -- STABLE_SORT [$$97(ASC)]  
|PARTITIONED|
                                                     -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
                                                       -- STREAM_PROJECT  
|PARTITIONED|
                                                         -- ONE_TO_ONE_EXCHANGE 
 |PARTITIONED|
-                                                          -- HYBRID_HASH_JOIN 
[$$103][$$106]  |PARTITIONED|
-                                                            -- 
HASH_PARTITION_EXCHANGE [$$103]  |PARTITIONED|
+                                                          -- HYBRID_HASH_JOIN 
[$$97][$$100]  |PARTITIONED|
+                                                            -- 
HASH_PARTITION_EXCHANGE [$$97]  |PARTITIONED|
                                                               -- 
STREAM_PROJECT  |PARTITIONED|
                                                                 -- 
STREAM_SELECT  |PARTITIONED|
                                                                   -- 
STREAM_PROJECT  |PARTITIONED|
                                                                     -- ASSIGN  
|PARTITIONED|
                                                                       -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                        -- 
PRE_CLUSTERED_GROUP_BY[$$107]  |PARTITIONED|
+                                                                        -- 
PRE_CLUSTERED_GROUP_BY[$$101]  |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 [$$107][$$108]  |PARTITIONED|
+                                                                               
 -- HYBRID_HASH_JOIN [$$101][$$102]  |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 [$$126]  |PARTITIONED|
+                                                                               
             -- HASH_PARTITION_EXCHANGE [$$120]  |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 [$$106]  |PARTITIONED|
+                                                            -- 
HASH_PARTITION_EXCHANGE [$$100]  |PARTITIONED|
                                                               -- ASSIGN  
|PARTITIONED|
                                                                 -- 
STREAM_PROJECT  |PARTITIONED|
                                                                   -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                    -- 
HYBRID_HASH_JOIN [$$120][$$119]  |PARTITIONED|
+                                                                    -- 
HYBRID_HASH_JOIN [$$114][$$113]  |PARTITIONED|
                                                                       -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                                                                         -- 
REPLICATE  |PARTITIONED|
-                                                                          -- 
HASH_PARTITION_EXCHANGE [$$120]  |PARTITIONED|
+                                                                          -- 
HASH_PARTITION_EXCHANGE [$$114]  |PARTITIONED|
                                                                             -- 
STREAM_PROJECT  |PARTITIONED|
                                                                               
-- ASSIGN  |PARTITIONED|
                                                                                
 -- STREAM_PROJECT  |PARTITIONED|
                                                                                
   -- STREAM_SELECT  |PARTITIONED|
                                                                                
     -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                               
       -- PRE_CLUSTERED_GROUP_BY[$$125]  |PARTITIONED|
+                                                                               
       -- PRE_CLUSTERED_GROUP_BY[$$119]  |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 [$$125][$$126]  |PARTITIONED|
+                                                                               
               -- HYBRID_HASH_JOIN [$$119][$$120]  |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 [$$126]  |PARTITIONED|
+                                                                               
                     -- HASH_PARTITION_EXCHANGE [$$120]  |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 [$$119]  |PARTITIONED|
+                                                                      -- 
HASH_PARTITION_EXCHANGE [$$113]  |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 [$$84]  
|PARTITIONED|
+                                            -- HASH_PARTITION_EXCHANGE [$$78]  
|PARTITIONED|
                                               -- STREAM_PROJECT  |PARTITIONED|
                                                 -- ASSIGN  |PARTITIONED|
                                                   -- STREAM_PROJECT  
|PARTITIONED|

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/9c2e9f0e/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 70948fb..14b31eb 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[$$98]  |PARTITIONED|
+                      -- PRE_CLUSTERED_GROUP_BY[$$92]  |PARTITIONED|
                               {
                                 -- AGGREGATE  |LOCAL|
                                   -- AGGREGATE  |LOCAL|
@@ -26,13 +26,13 @@
                                           -- NESTED_TUPLE_SOURCE  |LOCAL|
                               }
                         -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                          -- STABLE_SORT [$$98(ASC)]  |PARTITIONED|
+                          -- STABLE_SORT [$$92(ASC)]  |PARTITIONED|
                             -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                               -- STREAM_PROJECT  |PARTITIONED|
                                 -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                  -- HYBRID_HASH_JOIN [$$98][$$99]  
|PARTITIONED|
-                                    -- HASH_PARTITION_EXCHANGE [$$98]  
|PARTITIONED|
-                                      -- PRE_CLUSTERED_GROUP_BY[$$36]  
|PARTITIONED|
+                                  -- HYBRID_HASH_JOIN [$$92][$$93]  
|PARTITIONED|
+                                    -- HASH_PARTITION_EXCHANGE [$$92]  
|PARTITIONED|
+                                      -- PRE_CLUSTERED_GROUP_BY[$$32]  
|PARTITIONED|
                                               {
                                                 -- AGGREGATE  |LOCAL|
                                                   -- AGGREGATE  |LOCAL|
@@ -42,17 +42,17 @@
                                                           -- 
NESTED_TUPLE_SOURCE  |LOCAL|
                                               }
                                         -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                          -- STABLE_SORT [$$36(ASC)]  
|PARTITIONED|
+                                          -- STABLE_SORT [$$32(ASC)]  
|PARTITIONED|
                                             -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
                                               -- STREAM_PROJECT  |PARTITIONED|
                                                 -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
-                                                  -- HYBRID_HASH_JOIN 
[$$36][$$91]  |PARTITIONED|
+                                                  -- HYBRID_HASH_JOIN 
[$$32][$$85]  |PARTITIONED|
                                                     -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
                                                       -- STREAM_PROJECT  
|PARTITIONED|
                                                         -- ASSIGN  
|PARTITIONED|
                                                           -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                                                             -- REPLICATE  
|PARTITIONED|
-                                                              -- 
HASH_PARTITION_EXCHANGE [$$100]  |PARTITIONED|
+                                                              -- 
HASH_PARTITION_EXCHANGE [$$94]  |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 
[$$91]  |PARTITIONED|
+                                                    -- HASH_PARTITION_EXCHANGE 
[$$85]  |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 [$$99]  
|PARTITIONED|
+                                    -- HASH_PARTITION_EXCHANGE [$$93]  
|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[$$100]  |PARTITIONED|
+                                                                -- 
PRE_CLUSTERED_GROUP_BY[$$94]  |PARTITIONED|
                                                                         {
                                                                           -- 
AGGREGATE  |LOCAL|
                                                                             -- 
AGGREGATE  |LOCAL|
@@ -124,14 +124,14 @@
                                                                                
   -- NESTED_TUPLE_SOURCE  |LOCAL|
                                                                         }
                                                                   -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                    -- 
STABLE_SORT [$$100(ASC)]  |PARTITIONED|
+                                                                    -- 
STABLE_SORT [$$94(ASC)]  |PARTITIONED|
                                                                       -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                                                                         -- 
STREAM_PROJECT  |PARTITIONED|
                                                                           -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                                                            -- 
HYBRID_HASH_JOIN [$$100][$$101]  |PARTITIONED|
+                                                                            -- 
HYBRID_HASH_JOIN [$$94][$$95]  |PARTITIONED|
                                                                               
-- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                                                                                
 -- REPLICATE  |PARTITIONED|
-                                                                               
   -- HASH_PARTITION_EXCHANGE [$$100]  |PARTITIONED|
+                                                                               
   -- HASH_PARTITION_EXCHANGE [$$94]  |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 [$$101]  |PARTITIONED|
+                                                                              
-- HASH_PARTITION_EXCHANGE [$$95]  |PARTITIONED|
                                                                                
 -- ASSIGN  |PARTITIONED|
                                                                                
   -- STREAM_PROJECT  |PARTITIONED|
                                                                                
     -- STREAM_SELECT  |PARTITIONED|

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/9c2e9f0e/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpch/q12_shipping.plan
----------------------------------------------------------------------
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 57ca6ce..655b2f5 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,13 +3,13 @@
     -- STREAM_PROJECT  |PARTITIONED|
       -- ASSIGN  |PARTITIONED|
         -- SORT_MERGE_EXCHANGE [$$l_shipmode(ASC) ]  |PARTITIONED|
-          -- SORT_GROUP_BY[$$95]  |PARTITIONED|
+          -- SORT_GROUP_BY[$$91]  |PARTITIONED|
                   {
                     -- AGGREGATE  |LOCAL|
                       -- NESTED_TUPLE_SOURCE  |LOCAL|
                   }
-            -- HASH_PARTITION_EXCHANGE [$$95]  |PARTITIONED|
-              -- SORT_GROUP_BY[$$77]  |PARTITIONED|
+            -- HASH_PARTITION_EXCHANGE [$$91]  |PARTITIONED|
+              -- SORT_GROUP_BY[$$73]  |PARTITIONED|
                       {
                         -- AGGREGATE  |LOCAL|
                           -- NESTED_TUPLE_SOURCE  |LOCAL|
@@ -17,12 +17,12 @@
                 -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                   -- STREAM_PROJECT  |PARTITIONED|
                     -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                      -- HYBRID_HASH_JOIN [$$77][$$84]  |PARTITIONED|
+                      -- HYBRID_HASH_JOIN [$$73][$$80]  |PARTITIONED|
                         -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                           -- STREAM_PROJECT  |PARTITIONED|
                             -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                              -- HYBRID_HASH_JOIN [$$86][$$81]  |PARTITIONED|
-                                -- HASH_PARTITION_EXCHANGE [$$86]  
|PARTITIONED|
+                              -- HYBRID_HASH_JOIN [$$82][$$77]  |PARTITIONED|
+                                -- HASH_PARTITION_EXCHANGE [$$82]  
|PARTITIONED|
                                   -- STREAM_PROJECT  |PARTITIONED|
                                     -- STREAM_SELECT  |PARTITIONED|
                                       -- ASSIGN  |PARTITIONED|

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/9c2e9f0e/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpch/q12_shipping_broadcast.plan
----------------------------------------------------------------------
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 40c1c55..8fd10f5 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,13 +3,13 @@
     -- STREAM_PROJECT  |PARTITIONED|
       -- ASSIGN  |PARTITIONED|
         -- SORT_MERGE_EXCHANGE [$$l_shipmode(ASC) ]  |PARTITIONED|
-          -- SORT_GROUP_BY[$$95]  |PARTITIONED|
+          -- SORT_GROUP_BY[$$91]  |PARTITIONED|
                   {
                     -- AGGREGATE  |LOCAL|
                       -- NESTED_TUPLE_SOURCE  |LOCAL|
                   }
-            -- HASH_PARTITION_EXCHANGE [$$95]  |PARTITIONED|
-              -- SORT_GROUP_BY[$$77]  |PARTITIONED|
+            -- HASH_PARTITION_EXCHANGE [$$91]  |PARTITIONED|
+              -- SORT_GROUP_BY[$$73]  |PARTITIONED|
                       {
                         -- AGGREGATE  |LOCAL|
                           -- NESTED_TUPLE_SOURCE  |LOCAL|
@@ -17,11 +17,11 @@
                 -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                   -- STREAM_PROJECT  |PARTITIONED|
                     -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                      -- HYBRID_HASH_JOIN [$$77][$$84]  |PARTITIONED|
+                      -- HYBRID_HASH_JOIN [$$73][$$80]  |PARTITIONED|
                         -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                           -- STREAM_PROJECT  |PARTITIONED|
                             -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                              -- HYBRID_HASH_JOIN [$$85][$$81]  |PARTITIONED|
+                              -- HYBRID_HASH_JOIN [$$81][$$77]  |PARTITIONED|
                                 -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                                   -- STREAM_PROJECT  |PARTITIONED|
                                     -- STREAM_SELECT  |PARTITIONED|

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/9c2e9f0e/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/denorm-cust-order.ast
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/denorm-cust-order.ast
 
b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/denorm-cust-order.ast
index 543f691..a517304 100644
--- 
a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/denorm-cust-order.ast
+++ 
b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/denorm-cust-order.ast
@@ -46,9 +46,7 @@ RecordConstructor [
     FunctionCall Metadata.resolve@-1[
       LiteralExpr [STRING] [cust]
       Variable [ Name=$cid ]
-      Variable [ Name=$o ]
       Variable [ Name=#1 ]
-      Variable [ Name=$c ]
     ]
   )
   (
@@ -71,7 +69,11 @@ RecordConstructor [
   (
     LiteralExpr [STRING] [orders]
     :
-    Variable [ Name=$o ]
+    FunctionCall Metadata.resolve@-1[
+      LiteralExpr [STRING] [o]
+      Variable [ Name=$cid ]
+      Variable [ Name=#1 ]
+    ]
   )
 ]
 ]

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/9c2e9f0e/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/inlined_q18_large_volume_customer.ast
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/inlined_q18_large_volume_customer.ast
 
b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/inlined_q18_large_volume_customer.ast
index 1cbf8c5..cab13e2 100644
--- 
a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/inlined_q18_large_volume_customer.ast
+++ 
b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/inlined_q18_large_volume_customer.ast
@@ -87,7 +87,9 @@ RecordConstructor [
           Field=l_quantity
         ]
         ]
-        FROM [          Variable [ Name=$l ]
+        FROM [          FunctionCall Metadata.dataset@1[
+            LiteralExpr [STRING] [l]
+          ]
           AS Variable [ Name=$j ]
         ]
       )
@@ -124,7 +126,9 @@ FROM [  FunctionCall Metadata.dataset@1[
               Field=l_quantity
             ]
             ]
-            FROM [              Variable [ Name=$l ]
+            FROM [              FunctionCall Metadata.dataset@1[
+                LiteralExpr [STRING] [l]
+              ]
               AS Variable [ Name=$i ]
             ]
           )

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/9c2e9f0e/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nest_aggregate.ast
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nest_aggregate.ast
 
b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nest_aggregate.ast
index e40b06c..56a5172 100644
--- 
a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nest_aggregate.ast
+++ 
b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nest_aggregate.ast
@@ -176,7 +176,9 @@ RecordConstructor [
               Field=o_totalprice
             ]
             ]
-            FROM [              Variable [ Name=$orders ]
+            FROM [              FunctionCall Metadata.dataset@1[
+                LiteralExpr [STRING] [orders]
+              ]
               AS Variable [ Name=$o ]
             ]
           )

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/9c2e9f0e/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orderby-desc-using-gby.ast
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orderby-desc-using-gby.ast
 
b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orderby-desc-using-gby.ast
index d50f774..5c200bb 100644
--- 
a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orderby-desc-using-gby.ast
+++ 
b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orderby-desc-using-gby.ast
@@ -36,7 +36,6 @@ RecordConstructor [
       LiteralExpr [STRING] [age]
       Variable [ Name=$name ]
       Variable [ Name=#1 ]
-      Variable [ Name=$c ]
     ]
   )
 ]
@@ -65,7 +64,6 @@ Orderby
     LiteralExpr [STRING] [age]
     Variable [ Name=$name ]
     Variable [ Name=#1 ]
-    Variable [ Name=$c ]
   ]
   ASC
 

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/9c2e9f0e/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-aggreg.ast
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-aggreg.ast
 
b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-aggreg.ast
index 422ca7b..2c44738 100644
--- 
a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-aggreg.ast
+++ 
b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-aggreg.ast
@@ -23,7 +23,11 @@ RecordConstructor [
     LiteralExpr [STRING] [ordpercust]
     :
     FunctionCall orders-aggreg.count@1[
-      Variable [ Name=$o ]
+      FunctionCall Metadata.resolve@-1[
+        LiteralExpr [STRING] [o]
+        Variable [ Name=$cid ]
+        Variable [ Name=#1 ]
+      ]
     ]
   )
   (
@@ -37,7 +41,9 @@ RecordConstructor [
           Field=total
         ]
         ]
-        FROM [          Variable [ Name=$o ]
+        FROM [          FunctionCall Metadata.dataset@1[
+            LiteralExpr [STRING] [o]
+          ]
           AS Variable [ Name=$i ]
         ]
       )
@@ -54,7 +60,9 @@ RecordConstructor [
           Field=total
         ]
         ]
-        FROM [          Variable [ Name=$o ]
+        FROM [          FunctionCall Metadata.dataset@1[
+            LiteralExpr [STRING] [o]
+          ]
           AS Variable [ Name=$i ]
         ]
       )

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/9c2e9f0e/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q01_pricing_summary_report_nt.ast
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q01_pricing_summary_report_nt.ast
 
b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q01_pricing_summary_report_nt.ast
index 92fe1f6..aa7ccbd 100644
--- 
a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q01_pricing_summary_report_nt.ast
+++ 
b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q01_pricing_summary_report_nt.ast
@@ -45,7 +45,9 @@ RecordConstructor [
           Field=l_quantity
         ]
         ]
-        FROM [          Variable [ Name=$l ]
+        FROM [          FunctionCall Metadata.dataset@1[
+            LiteralExpr [STRING] [l]
+          ]
           AS Variable [ Name=$i ]
         ]
       )
@@ -62,7 +64,9 @@ RecordConstructor [
           Field=l_extendedprice
         ]
         ]
-        FROM [          Variable [ Name=$l ]
+        FROM [          FunctionCall Metadata.dataset@1[
+            LiteralExpr [STRING] [l]
+          ]
           AS Variable [ Name=$i ]
         ]
       )
@@ -90,7 +94,9 @@ RecordConstructor [
           ]
         ]
         ]
-        FROM [          Variable [ Name=$l ]
+        FROM [          FunctionCall Metadata.dataset@1[
+            LiteralExpr [STRING] [l]
+          ]
           AS Variable [ Name=$i ]
         ]
       )
@@ -127,7 +133,9 @@ RecordConstructor [
           ]
         ]
         ]
-        FROM [          Variable [ Name=$l ]
+        FROM [          FunctionCall Metadata.dataset@1[
+            LiteralExpr [STRING] [l]
+          ]
           AS Variable [ Name=$i ]
         ]
       )
@@ -144,7 +152,9 @@ RecordConstructor [
           Field=l_quantity
         ]
         ]
-        FROM [          Variable [ Name=$l ]
+        FROM [          FunctionCall Metadata.dataset@1[
+            LiteralExpr [STRING] [l]
+          ]
           AS Variable [ Name=$i ]
         ]
       )
@@ -161,7 +171,9 @@ RecordConstructor [
           Field=l_extendedprice
         ]
         ]
-        FROM [          Variable [ Name=$l ]
+        FROM [          FunctionCall Metadata.dataset@1[
+            LiteralExpr [STRING] [l]
+          ]
           AS Variable [ Name=$i ]
         ]
       )
@@ -178,7 +190,9 @@ RecordConstructor [
           Field=l_discount
         ]
         ]
-        FROM [          Variable [ Name=$l ]
+        FROM [          FunctionCall Metadata.dataset@1[
+            LiteralExpr [STRING] [l]
+          ]
           AS Variable [ Name=$i ]
         ]
       )
@@ -188,7 +202,12 @@ RecordConstructor [
     LiteralExpr [STRING] [count_order]
     :
     FunctionCall tpch.count@1[
-      Variable [ Name=$l ]
+      FunctionCall Metadata.resolve@-1[
+        LiteralExpr [STRING] [l]
+        Variable [ Name=$l_linestatus ]
+        Variable [ Name=$l_returnflag ]
+        Variable [ Name=#1 ]
+      ]
     ]
   )
 ]

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/9c2e9f0e/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q03_shipping_priority.ast
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q03_shipping_priority.ast
 
b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q03_shipping_priority.ast
index 368f4c2..7d54130 100644
--- 
a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q03_shipping_priority.ast
+++ 
b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q03_shipping_priority.ast
@@ -192,7 +192,9 @@ Let Variable [ Name=$revenue ]
         ]
       ]
       ]
-      FROM [        Variable [ Name=$l ]
+      FROM [        FunctionCall Metadata.dataset@1[
+          LiteralExpr [STRING] [l]
+        ]
         AS Variable [ Name=$i ]
       ]
     )

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/9c2e9f0e/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q05_local_supplier_volume.ast
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q05_local_supplier_volume.ast
 
b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q05_local_supplier_volume.ast
index 2c40155..a220cf6 100644
--- 
a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q05_local_supplier_volume.ast
+++ 
b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q05_local_supplier_volume.ast
@@ -413,7 +413,9 @@ Let Variable [ Name=$revenue ]
         ]
       ]
       ]
-      FROM [        Variable [ Name=$o1 ]
+      FROM [        FunctionCall Metadata.dataset@1[
+          LiteralExpr [STRING] [o1]
+        ]
         AS Variable [ Name=$i ]
       ]
     )

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/9c2e9f0e/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue550.ast
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue550.ast
 
b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue550.ast
index e5a516d..38c25da 100644
--- 
a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue550.ast
+++ 
b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue550.ast
@@ -161,7 +161,9 @@ RecordConstructor [
       SELECT ELEMENT [
       Variable [ Name=$srec ]
       ]
-      FROM [        Variable [ Name=$s ]
+      FROM [        FunctionCall Metadata.dataset@1[
+          LiteralExpr [STRING] [s]
+        ]
         AS Variable [ Name=$srec ]
       ]
     )

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/9c2e9f0e/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue562.ast
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue562.ast
 
b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue562.ast
index 10f53bb..b588daa 100644
--- 
a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue562.ast
+++ 
b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue562.ast
@@ -227,7 +227,11 @@ RecordConstructor [
     LiteralExpr [STRING] [numcust]
     :
     FunctionCall tpch.count@1[
-      Variable [ Name=$ct ]
+      FunctionCall Metadata.resolve@-1[
+        LiteralExpr [STRING] [ct]
+        Variable [ Name=$cntrycode ]
+        Variable [ Name=#1 ]
+      ]
     ]
   )
   (
@@ -241,7 +245,9 @@ RecordConstructor [
           Field=c_acctbal
         ]
         ]
-        FROM [          Variable [ Name=$ct ]
+        FROM [          FunctionCall Metadata.dataset@1[
+            LiteralExpr [STRING] [ct]
+          ]
           AS Variable [ Name=$i ]
         ]
       )

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/9c2e9f0e/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue697.ast
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue697.ast
 
b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue697.ast
index e028ef8..c733869 100644
--- 
a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue697.ast
+++ 
b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue697.ast
@@ -25,7 +25,9 @@ RecordConstructor [
           Field=value
         ]
         ]
-        FROM [          Variable [ Name=$i ]
+        FROM [          FunctionCall Metadata.dataset@1[
+            LiteralExpr [STRING] [i]
+          ]
           AS Variable [ Name=$j ]
         ]
         Where

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/9c2e9f0e/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue785.ast
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue785.ast
 
b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue785.ast
index fb94b42..8dc0e87 100644
--- 
a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue785.ast
+++ 
b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue785.ast
@@ -194,7 +194,9 @@ Let Variable [ Name=$X ]
             Field=o_totalprice
           ]
           ]
-          FROM [            Variable [ Name=$orders ]
+          FROM [            FunctionCall Metadata.dataset@1[
+              LiteralExpr [STRING] [orders]
+            ]
             AS Variable [ Name=$o ]
           ]
         )
@@ -231,7 +233,9 @@ RecordConstructor [
         )
       ]
       ]
-      FROM [        Variable [ Name=$x ]
+      FROM [        FunctionCall Metadata.dataset@1[
+          LiteralExpr [STRING] [x]
+        ]
         AS Variable [ Name=$y ]
       ]
       Orderby

Reply via email to