[ASTERIXDB-2078][SQL] DISTINCT modifier for aggregate functions - user model changes: yes - storage format changes: no - interface changes: no
Details: - Adds support for DISTINCT modifier in aggregate functions: AGG(DISTINCT expr), ARRAY_AGG(DISTINCT expr), COLL_AGG(DISTINCT expr) where AGG = COUNT | SUM | AVG | MIN | MAX Change-Id: I52772349cbcbfc68a3a1ff261d610871ca38748d Reviewed-on: https://asterix-gerrit.ics.uci.edu/1987 Sonar-Qube: Jenkins <[email protected]> Tested-by: Jenkins <[email protected]> Contrib: Jenkins <[email protected]> Integration-Tests: Jenkins <[email protected]> Reviewed-by: Till Westmann <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/7a4b5681 Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/7a4b5681 Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/7a4b5681 Branch: refs/heads/master Commit: 7a4b5681f376ce4f99cc4a6ee64187068d510332 Parents: e66346a Author: Dmitry Lychagin <[email protected]> Authored: Mon Sep 11 18:53:07 2017 -0700 Committer: Dmitry Lychagin <[email protected]> Committed: Tue Sep 19 10:51:43 2017 -0700 ---------------------------------------------------------------------- .../PushAggFuncIntoStandaloneAggregateRule.java | 16 +- .../SqlppExpressionToPlanTranslator.java | 2 +- .../results_parser_sqlpp/count-tweets.ast | 2 +- .../results_parser_sqlpp/denorm-cust-order.ast | 2 +- .../results_parser_sqlpp/distinct_aggregate.ast | 2 +- .../results_parser_sqlpp/fj-phase1.ast | 4 +- .../fj-phase2-with-hints.ast | 4 +- .../inlined_q18_large_volume_customer.ast | 4 +- .../results_parser_sqlpp/nest_aggregate.ast | 2 +- .../results_parser_sqlpp/orders-aggreg.ast | 6 +- .../q01_pricing_summary_report_nt.ast | 16 +- .../q03_shipping_priority.ast | 2 +- .../q05_local_supplier_volume.ast | 2 +- .../optimizerts/results_parser_sqlpp/q2.ast | 4 +- .../results_parser_sqlpp/query-issue562.ast | 8 +- .../results_parser_sqlpp/query-issue601.ast | 2 +- .../results_parser_sqlpp/query-issue697.ast | 2 +- .../results_parser_sqlpp/query-issue785.ast | 2 +- .../results_parser_sqlpp/query-issue810-2.ast | 8 +- .../results_parser_sqlpp/query-issue810.ast | 4 +- .../results_parser_sqlpp/query-issue827-2.ast | 16 +- .../split-materialization-above-join.ast | 8 +- .../split-materialization.ast | 4 +- .../parserts/results_parser_sqlpp/2.ast | 4 +- .../groupby_clause_count.ast | 2 +- .../results_parser_sqlpp/nestedFLWOGR3.ast | 4 +- .../avg_distinct/avg_distinct.1.query.sqlpp | 24 ++ .../count_distinct/count_distinct.1.query.sqlpp | 24 ++ .../max_distinct/max_distinct.1.query.sqlpp | 24 ++ .../min_distinct/min_distinct.1.query.sqlpp | 24 ++ .../sum_distinct/sum_distinct.1.query.sqlpp | 24 ++ .../avg_distinct/avg_distinct.1.query.sqlpp | 24 ++ .../count_distinct/count_distinct.1.query.sqlpp | 24 ++ .../max_distinct/max_distinct.1.query.sqlpp | 24 ++ .../min_distinct/min_distinct.1.query.sqlpp | 24 ++ .../sum_distinct/sum_distinct.1.query.sqlpp | 24 ++ .../sugar-06-distinct.1.ddl.sqlpp | 29 ++ .../sugar-06-distinct.2.update.sqlpp | 45 +++ .../sugar-06-distinct.3.query.sqlpp | 25 ++ .../sugar-06-distinct.4.query.sqlpp | 25 ++ .../sugar-06-distinct.5.query.sqlpp | 25 ++ .../sugar-06-distinct.6.query.sqlpp | 25 ++ .../sugar-06-distinct.7.query.sqlpp | 25 ++ .../sugar-06-distinct.8.query.sqlpp | 25 ++ .../avg_distinct/avg_distinct.1.adm | 1 + .../count_distinct/count_distinct.1.adm | 1 + .../max_distinct/max_distinct.1.adm | 1 + .../min_distinct/min_distinct.1.adm | 1 + .../sum_distinct/sum_distinct.1.adm | 1 + .../aggregate/avg_distinct/avg_distinct.1.adm | 1 + .../count_distinct/count_distinct.1.adm | 1 + .../aggregate/max_distinct/max_distinct.1.adm | 1 + .../aggregate/min_distinct/min_distinct.1.adm | 1 + .../aggregate/sum_distinct/sum_distinct.1.adm | 1 + .../sugar-06-distinct/sugar-06-distinct.3.adm | 4 + .../sugar-06-distinct/sugar-06-distinct.4.adm | 4 + .../sugar-06-distinct/sugar-06-distinct.5.adm | 4 + .../sugar-06-distinct/sugar-06-distinct.6.adm | 4 + .../sugar-06-distinct/sugar-06-distinct.7.adm | 4 + .../sugar-06-distinct/sugar-06-distinct.8.adm | 4 + .../aggregate-sql/agg_null/agg_null.3.ast | 20 +- .../agg_null_rec/agg_null_rec.3.ast | 10 +- .../agg_null_rec_1/agg_null_rec_1.3.ast | 10 +- .../aggregate-sql/agg_number/agg_number.3.ast | 20 +- .../agg_number_rec/agg_number_rec.3.ast | 10 +- .../aggregate-sql/avg_double/avg_double.3.ast | 2 +- .../avg_double_null/avg_double_null.3.ast | 2 +- .../avg_empty_01/avg_empty_01.3.ast | 2 +- .../avg_empty_02/avg_empty_02.3.ast | 2 +- .../aggregate-sql/avg_float/avg_float.3.ast | 2 +- .../avg_float_null/avg_float_nu.3.ast | 2 +- .../aggregate-sql/avg_int16/avg_int16.3.ast | 2 +- .../avg_int16_null/avg_int16_null.3.ast | 2 +- .../aggregate-sql/avg_int32/avg_int32.3.ast | 2 +- .../avg_int32_null/avg_int32_null.3.ast | 2 +- .../aggregate-sql/avg_int64/avg_int64.3.ast | 2 +- .../avg_int64_null/avg_int64_null.3.ast | 2 +- .../aggregate-sql/avg_int8/avg_int8.3.ast | 2 +- .../avg_int8_null/avg_int8_null.3.ast | 2 +- .../aggregate-sql/avg_mixed/avg_mixed.3.ast | 2 +- .../aggregate-sql/count_01/count_01.3.ast | 2 +- .../count_empty_01/count_empty_01.3.ast | 2 +- .../count_empty_02/count_empty_02.3.ast | 2 +- .../aggregate-sql/count_null/count_null.3.ast | 2 +- .../aggregate-sql/issue395/issue395.3.ast | 2 +- .../aggregate-sql/issue412_0/issue412_0.3.ast | 2 +- .../aggregate-sql/issue412_1/issue412_1.3.ast | 10 +- .../issue425_min_hetero_list.3.ast | 2 +- .../issue425_min_hetero_list_1.3.ast | 2 +- .../issue425_sum_hetero_list.3.ast | 2 +- .../issue425_sum_hetero_list_1.3.ast | 2 +- .../issue531_string_min_max.3.ast | 4 +- .../max_empty_01/max_empty_01.3.ast | 2 +- .../max_empty_02/max_empty_02.3.ast | 2 +- .../min_empty_01/min_empty_01.3.ast | 2 +- .../min_empty_02/min_empty_02.3.ast | 2 +- .../aggregate-sql/min_mixed/min_mixed.3.ast | 2 +- .../query-issue400/query-issue400.3.ast | 2 +- .../aggregate-sql/scalar_avg/scalar_avg.3.ast | 12 +- .../scalar_avg_empty/scalar_avg_empty.3.ast | 2 +- .../scalar_avg_null/scalar_avg_null.3.ast | 12 +- .../scalar_count/scalar_count.3.ast | 14 +- .../scalar_count_empty/scalar_count_empty.3.ast | 2 +- .../scalar_count_null/scalar_count_null.3.ast | 14 +- .../aggregate-sql/scalar_max/scalar_max.3.ast | 16 +- .../scalar_max_empty/scalar_max_empty.3.ast | 2 +- .../scalar_max_null/scalar_max_null.3.ast | 16 +- .../aggregate-sql/scalar_min/scalar_min.3.ast | 16 +- .../scalar_min_empty/scalar_min_empty.3.ast | 2 +- .../scalar_min_null/scalar_min_null.3.ast | 16 +- .../aggregate-sql/scalar_sum/scalar_sum.3.ast | 12 +- .../scalar_sum_empty/scalar_sum_empty.3.ast | 2 +- .../scalar_sum_null/scalar_sum_null.3.ast | 12 +- .../aggregate-sql/sum_double/sum_double.3.ast | 2 +- .../sum_double_null/sum_double_null.3.ast | 2 +- .../sum_empty_01/sum_empty_01.3.ast | 2 +- .../sum_empty_02/sum_empty_02.3.ast | 2 +- .../aggregate-sql/sum_float/sum_float.3.ast | 2 +- .../sum_float_null/sum_float_null.3.ast | 2 +- .../aggregate-sql/sum_int16/sum_int16.3.ast | 2 +- .../sum_int16_null/sum_int16_null.3.ast | 2 +- .../aggregate-sql/sum_int32/sum_int32.3.ast | 2 +- .../sum_int32_null/sum_int32_null.3.ast | 2 +- .../aggregate-sql/sum_int64/sum_int64.3.ast | 2 +- .../sum_int64_null/sum_int64_null.3.ast | 2 +- .../aggregate-sql/sum_int8/sum_int8.3.ast | 2 +- .../sum_int8_null/sum_int8_null.3.ast | 2 +- .../aggregate-sql/sum_mixed/sum_mixed.3.ast | 2 +- .../sum_null-with-pred/sum_null-with-pred.3.ast | 2 +- .../sum_numeric_null/sum_numeric_null.3.ast | 2 +- .../aggregate/agg_null/agg_null.3.ast | 20 +- .../aggregate/agg_null_rec/agg_null_rec.3.ast | 10 +- .../agg_null_rec_1/agg_null_rec_1.3.ast | 10 +- .../aggregate/agg_number/agg_number.3.ast | 20 +- .../agg_number_rec/agg_number_rec.3.ast | 10 +- .../aggregate/avg_double/avg_double.3.ast | 2 +- .../avg_double_null/avg_double_null.3.ast | 2 +- .../aggregate/avg_empty_01/avg_empty_01.3.ast | 2 +- .../aggregate/avg_empty_02/avg_empty_02.3.ast | 2 +- .../aggregate/avg_float/avg_float.3.ast | 2 +- .../aggregate/avg_float_null/avg_float_nu.3.ast | 2 +- .../aggregate/avg_int16/avg_int16.3.ast | 2 +- .../avg_int16_null/avg_int16_null.3.ast | 2 +- .../aggregate/avg_int32/avg_int32.3.ast | 2 +- .../avg_int32_null/avg_int32_null.3.ast | 2 +- .../aggregate/avg_int64/avg_int64.3.ast | 2 +- .../avg_int64_null/avg_int64_null.3.ast | 2 +- .../aggregate/avg_int8/avg_int8.3.ast | 2 +- .../aggregate/avg_int8_null/avg_int8_null.3.ast | 2 +- .../aggregate/avg_mixed/avg_mixed.3.ast | 2 +- .../aggregate/count_01/count_01.3.ast | 2 +- .../count_empty_01/count_empty_01.3.ast | 2 +- .../count_empty_02/count_empty_02.3.ast | 2 +- .../aggregate/count_null/count_null.3.ast | 2 +- .../aggregate/issue395/issue395.3.ast | 2 +- .../aggregate/issue412_0/issue412_0.3.ast | 2 +- .../aggregate/issue412_1/issue412_1.3.ast | 10 +- .../issue425_min_hetero_list.3.ast | 2 +- .../issue425_min_hetero_list_1.3.ast | 2 +- .../issue425_sum_hetero_list.3.ast | 2 +- .../issue425_sum_hetero_list_1.3.ast | 2 +- .../issue531_string_min_max.3.ast | 4 +- .../aggregate/max_empty_01/max_empty_01.3.ast | 2 +- .../aggregate/max_empty_02/max_empty_02.3.ast | 2 +- .../aggregate/min_empty_01/min_empty_01.3.ast | 2 +- .../aggregate/min_empty_02/min_empty_02.3.ast | 2 +- .../aggregate/min_mixed/min_mixed.3.ast | 2 +- .../query-issue400/query-issue400.3.ast | 2 +- .../aggregate/scalar_avg/scalar_avg.3.ast | 12 +- .../scalar_avg_empty/scalar_avg_empty.3.ast | 2 +- .../scalar_avg_null/scalar_avg_null.3.ast | 12 +- .../aggregate/scalar_count/scalar_count.3.ast | 14 +- .../scalar_count_empty/scalar_count_empty.3.ast | 2 +- .../scalar_count_null/scalar_count_null.3.ast | 14 +- .../aggregate/scalar_max/scalar_max.3.ast | 16 +- .../scalar_max_empty/scalar_max_empty.3.ast | 2 +- .../scalar_max_null/scalar_max_null.3.ast | 16 +- .../aggregate/scalar_min/scalar_min.3.ast | 16 +- .../scalar_min_empty/scalar_min_empty.3.ast | 2 +- .../scalar_min_null/scalar_min_null.3.ast | 16 +- .../aggregate/scalar_sum/scalar_sum.3.ast | 12 +- .../scalar_sum_empty/scalar_sum_empty.3.ast | 2 +- .../scalar_sum_null/scalar_sum_null.3.ast | 12 +- .../aggregate/sum_double/sum_double.3.ast | 2 +- .../sum_double_null/sum_double_null.3.ast | 2 +- .../aggregate/sum_empty_01/sum_empty_01.3.ast | 2 +- .../aggregate/sum_empty_02/sum_empty_02.3.ast | 2 +- .../aggregate/sum_float/sum_float.3.ast | 2 +- .../sum_float_null/sum_float_null.3.ast | 2 +- .../aggregate/sum_int16/sum_int16.3.ast | 2 +- .../sum_int16_null/sum_int16_null.3.ast | 2 +- .../aggregate/sum_int32/sum_int32.3.ast | 2 +- .../sum_int32_null/sum_int32_null.3.ast | 2 +- .../aggregate/sum_int64/sum_int64.3.ast | 2 +- .../sum_int64_null/sum_int64_null.3.ast | 2 +- .../aggregate/sum_int8/sum_int8.3.ast | 2 +- .../aggregate/sum_int8_null/sum_int8_null.3.ast | 2 +- .../aggregate/sum_mixed/sum_mixed.3.ast | 2 +- .../sum_null-with-pred/sum_null-with-pred.3.ast | 2 +- .../sum_numeric_null/sum_numeric_null.3.ast | 2 +- .../cross-dataverse/cross-dv03/cross-dv03.3.ast | 2 +- .../results_parser_sqlpp/dapd/q2/q2.3.ast | 4 +- .../dml/query-issue382/query-issue382.3.ast | 2 +- .../fuzzyjoin/dblp-1_1/dblp-1_1.3.ast | 2 +- .../fuzzyjoin/dblp-1_2.1.1/dblp-1_2.3.ast | 2 +- .../fuzzyjoin/dblp-1_2.1/dblp-1_2.3.ast | 2 +- .../fuzzyjoin/dblp-1_2/dblp-1_2.3.ast | 2 +- .../fuzzyjoin/dblp-2.1_5.3.1/dblp-2.3.ast | 4 +- .../fuzzyjoin/dblp-2_1/dblp-2_1.3.ast | 4 +- .../fuzzyjoin/dblp-2_2/dblp-2_2.3.ast | 4 +- .../fuzzyjoin/dblp-2_3/dblp-2_3.3.ast | 4 +- .../fuzzyjoin/dblp-2_4/dblp-2_4.3.ast | 4 +- .../fuzzyjoin/dblp-2_5.1/dblp-2_5.3.ast | 4 +- .../fuzzyjoin/dblp-2_5.2/dblp-2_5.3.ast | 4 +- .../fuzzyjoin/dblp-2_5.3.1/dblp-2_5.3.ast | 4 +- .../fuzzyjoin/dblp-2_5.3/dblp-2_5.3.ast | 4 +- .../fuzzyjoin/dblp-2_5/dblp-2_5.3.ast | 4 +- .../fuzzyjoin/dblp-3_1.1/dblp-3_1.3.ast | 8 +- .../fuzzyjoin/dblp-3_1.2/dblp-3_1.3.ast | 8 +- .../fuzzyjoin/dblp-3_1/dblp-3_1.3.ast | 8 +- .../fuzzyjoin/dblp-csx-2_1/dblp-csx-2_1.3.ast | 8 +- .../fuzzyjoin/dblp-csx-2_2/dblp-csx-2_2.3.ast | 8 +- .../fuzzyjoin/dblp-csx-2_3/dblp-csx-2_3.3.ast | 8 +- .../fuzzyjoin/dblp-csx-2_4/dblp-csx-2_4.3.ast | 8 +- .../fuzzyjoin/dblp-csx-2_5.1/dblp-csx-2_5.3.ast | 8 +- .../fuzzyjoin/dblp-csx-2_5.2/dblp-csx-2_5.3.ast | 8 +- .../dblp-csx-2_5.3.1/dblp-csx-2_5.3.ast | 8 +- .../fuzzyjoin/dblp-csx-2_5.3/dblp-csx-2_5.3.ast | 8 +- .../fuzzyjoin/dblp-csx-2_5/dblp-csx-2_5.3.ast | 8 +- .../fuzzyjoin/dblp-csx-3_1/dblp-csx-3_1.3.ast | 8 +- .../fuzzyjoin/dblp-csx-3_2/dblp-csx-3_2.3.ast | 8 +- .../fuzzyjoin/dblp-csx-3_3/dblp-csx-3_3.3.ast | 8 +- .../fuzzyjoin/dblp-csx-3_4/dblp-csx-3_4.3.ast | 8 +- .../fuzzyjoin/dblp-csx-3_5.1/dblp-csx-3_5.3.ast | 8 +- .../fuzzyjoin/dblp-csx-3_5.2/dblp-csx-3_5.3.ast | 8 +- .../dblp-csx-3_5.3.1/dblp-csx-3_5.3.ast | 8 +- .../fuzzyjoin/dblp-csx-3_5.3/dblp-csx-3_5.3.ast | 8 +- .../dblp-csx-3_5.4.1/dblp-csx-3_5.3.ast | 8 +- .../fuzzyjoin/dblp-csx-3_5.4/dblp-csx-3_5.3.ast | 8 +- .../fuzzyjoin/dblp-csx-3_5/dblp-csx-3_5.3.ast | 8 +- .../hdfs/hdfs_02/hdfs_02.3.ast | 2 +- .../hdfs/hdfs_03/hdfs_03.3.ast | 2 +- .../hdfs_shortcircuit/hdfs_shortcircuit.3.ast | 2 +- .../issue_251_dataset_hint_6.3.ast | 2 +- .../list/listify_03/listify_03.3.ast | 4 +- .../load/issue289_query/issue289_query.3.ast | 2 +- .../assign-reuse/assign-reuse.3.ast | 4 +- .../groupby-orderby-count.3.ast | 4 +- .../tiny-social-example-no-complex-types.9.ast | 2 +- .../tiny-social-example-only-lists.9.ast | 2 +- .../tiny-social-example-only-records.9.ast | 2 +- .../query-issue208/query-issue208.3.ast | 2 +- .../query-issue456/query-issue456.3.ast | 2 +- .../query-proposal/query-proposal.3.ast | 2 +- .../query-proposal02/query-proposal02.3.ast | 2 +- .../count-nullable/count-nullable.3.ast | 2 +- .../cell-aggregation-with-filtering.3.ast | 8 +- .../cell-aggregation/cell-aggregation.3.ast | 2 +- .../q01_pricing_summary_report_nt.3.ast | 16 +- .../interval_bin_gby_0/interval_bin_gby_0.3.ast | 2 +- .../interval_bin_gby_1/interval_bin_gby_1.3.ast | 2 +- .../overlap_bins_gby_1/overlap_bins_gby_1.3.ast | 4 +- .../overlap_bins_gby_3/overlap_bins_gby_3.3.ast | 8 +- .../tinysocial-suite.14.ast | 2 +- .../tinysocial-suite.15.ast | 2 +- .../tinysocial-suite.16.ast | 2 +- .../tinysocial-suite.17.ast | 2 +- .../tinysocial-suite.22.ast | 2 +- .../tinysocial-suite.23.ast | 4 +- .../tinysocial-suite.25.ast | 2 +- .../tinysocial-suite.26.ast | 10 +- .../tinysocial-suite.27.ast | 10 +- .../tinysocial-suite/tinysocial-suite.14.ast | 2 +- .../tinysocial-suite/tinysocial-suite.15.ast | 2 +- .../tinysocial-suite/tinysocial-suite.16.ast | 2 +- .../tinysocial-suite/tinysocial-suite.17.ast | 2 +- .../tinysocial-suite/tinysocial-suite.22.ast | 2 +- .../tinysocial-suite/tinysocial-suite.23.ast | 4 +- .../tinysocial-suite/tinysocial-suite.25.ast | 2 +- .../q01_pricing_summary_report_nt.3.ast | 16 +- .../q02_minimum_cost_supplier.3.ast | 2 +- .../q03_shipping_priority_nt.3.ast | 2 +- .../q04_order_priority/q04_order_priority.3.ast | 2 +- .../q05_local_supplier_volume.3.ast | 2 +- .../q06_forecast_revenue_change.3.ast | 2 +- .../q07_volume_shipping.3.ast | 2 +- .../q08_national_market_share.3.ast | 4 +- .../q09_product_type_profit_nt.3.ast | 2 +- .../q10_returned_item/q10_returned_item.3.ast | 2 +- .../q10_returned_item_int64.3.ast | 2 +- .../q11_important_stock.3.ast | 4 +- .../q12_shipping/q12_shipping.3.ast | 4 +- .../q13_customer_distribution.3.ast | 6 +- .../q14_promotion_effect.3.ast | 4 +- .../q15_top_supplier/q15_top_supplier.3.ast | 4 +- .../q16_parts_supplier_relationship.3.ast | 2 +- .../q17_large_gby_variant.3.ast | 22 +- .../q17_small_quantity_order_revenue.3.ast | 4 +- .../q18_large_volume_customer.3.ast | 4 +- .../q19_discounted_revenue.3.ast | 2 +- .../q20_potential_part_promotion.3.ast | 2 +- .../q21_suppliers_who_kept_orders_waiting.3.ast | 10 +- .../q22_global_sales_opportunity.3.ast | 6 +- .../query-issue601/query-issue601.3.ast | 2 +- .../query-issue638/query-issue638.3.ast | 2 +- .../query-issue785-2/query-issue785-2.3.ast | 2 +- .../query-issue785/query-issue785.3.ast | 4 +- .../query-issue786/query-issue786.3.ast | 2 +- .../tpch/nest_aggregate/nest_aggregate.3.ast | 2 +- .../q01_pricing_summary_report_nt.3.ast | 16 +- .../q02_minimum_cost_supplier.3.ast | 2 +- .../q03_shipping_priority_nt.3.ast | 2 +- .../q04_order_priority/q04_order_priority.3.ast | 2 +- .../q05_local_supplier_volume.3.ast | 2 +- .../q06_forecast_revenue_change.3.ast | 2 +- .../q06_forecast_revenue_change.4.ast | 2 +- .../q07_volume_shipping.3.ast | 2 +- .../q08_national_market_share.3.ast | 4 +- .../q09_product_type_profit_nt.3.ast | 2 +- .../q10_returned_item/q10_returned_item.3.ast | 2 +- .../q10_returned_item_int64.3.ast | 2 +- .../q11_important_stock.3.ast | 4 +- .../tpch/q12_shipping/q12_shipping.3.ast | 4 +- .../q13_customer_distribution.3.ast | 6 +- .../q14_promotion_effect.3.ast | 4 +- .../q15_top_supplier/q15_top_supplier.3.ast | 4 +- .../q16_parts_supplier_relationship.3.ast | 2 +- .../q17_large_gby_variant.3.ast | 22 +- .../q18_large_volume_customer.3.ast | 4 +- .../q19_discounted_revenue.3.ast | 2 +- .../q20_potential_part_promotion.3.ast | 2 +- .../q21_suppliers_who_kept_orders_waiting.3.ast | 10 +- .../q22_global_sales_opportunity.3.ast | 6 +- .../tpch/query-issue562/query-issue562.3.ast | 8 +- .../tpch/query-issue601/query-issue601.3.ast | 2 +- .../tpch/query-issue638/query-issue638.3.ast | 2 +- .../query-issue785-2/query-issue785-2.3.ast | 2 +- .../tpch/query-issue785/query-issue785.3.ast | 4 +- .../tpch/query-issue786/query-issue786.3.ast | 2 +- .../query-issue810-2/query-issue810-2.3.ast | 4 +- .../query-issue810-3/query-issue810-3.3.ast | 8 +- .../tpch/query-issue810/query-issue810.3.ast | 4 +- .../query-issue827-2/query-issue827-2.3.ast | 16 +- .../tpch/query-issue827/query-issue827.3.ast | 4 +- .../query-issue489/query-issue489.2.ast | 2 +- .../query-issue489/query-issue489.4.ast | 2 +- .../resources/runtimets/testsuite_sqlpp.xml | 55 ++++ .../lang/sqlpp/rewrites/SqlppQueryRewriter.java | 10 + .../SqlppDistinctAggregationSugarVisitor.java | 96 ++++++ .../visitor/SqlppGroupBySugarVisitor.java | 6 +- .../rewrites/visitor/SqlppGroupByVisitor.java | 4 +- .../lang/sqlpp/util/FunctionMapUtil.java | 4 +- .../asterix-lang-sqlpp/src/main/javacc/SQLPP.jj | 11 +- .../functions/AbstractFunctionDescriptor.java | 10 +- .../asterix/om/functions/BuiltinFunctions.java | 296 +++++++++++++++---- .../core/algebra/base/PhysicalOperatorTag.java | 1 + .../AbstractFunctionCallExpression.java | 9 +- .../AbstractPreSortedDistinctByPOperator.java | 108 +++++++ .../MicroPreSortedDistinctByPOperator.java | 80 +++++ .../physical/PreSortedDistinctByPOperator.java | 93 +----- .../rules/AbstractIntroduceCombinerRule.java | 43 +-- .../SetAlgebricksPhysicalOperatorsRule.java | 8 +- 362 files changed, 1883 insertions(+), 909 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java index d8efbe4..abb8775 100644 --- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java +++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java @@ -44,6 +44,7 @@ import org.apache.hyracks.algebricks.core.algebra.operators.logical.AbstractBina import org.apache.hyracks.algebricks.core.algebra.operators.logical.AbstractLogicalOperator; import org.apache.hyracks.algebricks.core.algebra.operators.logical.AggregateOperator; import org.apache.hyracks.algebricks.core.algebra.operators.logical.AssignOperator; +import org.apache.hyracks.algebricks.core.algebra.operators.logical.GroupByOperator; import org.apache.hyracks.algebricks.core.algebra.operators.logical.visitors.VariableUtilities; import org.apache.hyracks.algebricks.core.rewriter.base.IAlgebraicRewriteRule; @@ -78,8 +79,7 @@ public class PushAggFuncIntoStandaloneAggregateRule implements IAlgebraicRewrite AbstractBinaryJoinOperator join = (AbstractBinaryJoinOperator) op2; // Tries to push aggregates through the join. if (containsAggregate(assignOp.getExpressions()) && pushableThroughJoin(join)) { - pushAggregateFunctionThroughJoin(join, assignOp, context); - return true; + return pushAggregateFunctionThroughJoin(join, assignOp, context); } } return false; @@ -152,27 +152,29 @@ public class PushAggFuncIntoStandaloneAggregateRule implements IAlgebraicRewrite * @param context * @throws AlgebricksException */ - private void pushAggregateFunctionThroughJoin(AbstractBinaryJoinOperator join, AssignOperator assignOp, + private boolean pushAggregateFunctionThroughJoin(AbstractBinaryJoinOperator join, AssignOperator assignOp, IOptimizationContext context) throws AlgebricksException { + boolean applied = false; for (Mutable<ILogicalOperator> branchRef : join.getInputs()) { AbstractLogicalOperator branch = (AbstractLogicalOperator) branchRef.getValue(); if (branch.getOperatorTag() == LogicalOperatorTag.AGGREGATE) { AggregateOperator aggOp = (AggregateOperator) branch; - pushAggregateFunction(aggOp, assignOp, context); + applied |= pushAggregateFunction(aggOp, assignOp, context); } else if (branch.getOperatorTag() == LogicalOperatorTag.INNERJOIN || branch.getOperatorTag() == LogicalOperatorTag.LEFTOUTERJOIN) { AbstractBinaryJoinOperator childJoin = (AbstractBinaryJoinOperator) branch; - pushAggregateFunctionThroughJoin(childJoin, assignOp, context); + applied |= pushAggregateFunctionThroughJoin(childJoin, assignOp, context); } } + return applied; } private boolean pushAggregateFunction(AggregateOperator aggOp, AssignOperator assignOp, IOptimizationContext context) throws AlgebricksException { Mutable<ILogicalOperator> opRef3 = aggOp.getInputs().get(0); AbstractLogicalOperator op3 = (AbstractLogicalOperator) opRef3.getValue(); - // If there's a group by below the agg, then we want to have the agg pushed into the group by. - if (op3.getOperatorTag() == LogicalOperatorTag.GROUP) { + // If there's a group by below the agg, then we want to have the agg pushed into the group by + if (op3.getOperatorTag() == LogicalOperatorTag.GROUP && !((GroupByOperator) op3).getNestedPlans().isEmpty()) { return false; } if (aggOp.getVariables().size() != 1) { http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/SqlppExpressionToPlanTranslator.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/SqlppExpressionToPlanTranslator.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/SqlppExpressionToPlanTranslator.java index 285a35e..d37c7af 100644 --- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/SqlppExpressionToPlanTranslator.java +++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/SqlppExpressionToPlanTranslator.java @@ -614,7 +614,7 @@ class SqlppExpressionToPlanTranslator extends LangExpressionToPlanTranslator imp returnVar = context.getVar(varExpr.getVar().getId()); } else { returnVar = context.newVar(); - returnOperator = new AssignOperator(returnVar, new MutableObject<ILogicalExpression>(eo.first)); + returnOperator = new AssignOperator(returnVar, new MutableObject<>(eo.first)); returnOperator.getInputs().add(eo.second); } if (selectClause.distinct()) { http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/count-tweets.ast ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/count-tweets.ast b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/count-tweets.ast index 166b68e..133b650 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/count-tweets.ast +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/count-tweets.ast @@ -21,7 +21,7 @@ RecordConstructor [ ( LiteralExpr [STRING] [count] : - FunctionCall twitter.sql-count@1[ + FunctionCall asterix.sql-count@1[ ( SELECT ELEMENT [ FieldAccessor [ http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/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 a517304..cf3721d 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 @@ -52,7 +52,7 @@ RecordConstructor [ ( LiteralExpr [STRING] [cnt-orders] : - FunctionCall custorder.sql-count@1[ + FunctionCall asterix.sql-count@1[ ( SELECT ELEMENT [ FieldAccessor [ http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/distinct_aggregate.ast ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/distinct_aggregate.ast b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/distinct_aggregate.ast index 134e968..7dfc9a1 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/distinct_aggregate.ast +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/distinct_aggregate.ast @@ -37,7 +37,7 @@ RecordConstructor [ ( LiteralExpr [STRING] [count_suppkey] : - FunctionCall tpch.sql-count@1[ + FunctionCall asterix.sql-count@1[ ( SELECT ELEMENT [ FieldAccessor [ http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/fj-phase1.ast ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/fj-phase1.ast b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/fj-phase1.ast index 1bb18a6..4d5fe2b 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/fj-phase1.ast +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/fj-phase1.ast @@ -80,7 +80,7 @@ Let Variable [ Name=$tokens ] Let Variable [ Name=$count ] := - FunctionCall rares03.sql-count@1[ + FunctionCall asterix.sql-count@1[ ( SELECT ELEMENT [ FieldAccessor [ @@ -99,7 +99,7 @@ Let Variable [ Name=$tokens ] ) AS Variable [ Name=$token ] - AT + AT Variable [ Name=$i ] ] Where http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/fj-phase2-with-hints.ast ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/fj-phase2-with-hints.ast b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/fj-phase2-with-hints.ast index 6ff1695..595e2cb 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/fj-phase2-with-hints.ast +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/fj-phase2-with-hints.ast @@ -78,7 +78,7 @@ Let Variable [ Name=$tokensDBLP ] ) Orderby - FunctionCall fuzzyjoin_078.sql-count@1[ + FunctionCall asterix.sql-count@1[ ( SELECT ELEMENT [ FieldAccessor [ @@ -97,7 +97,7 @@ Let Variable [ Name=$tokensDBLP ] ) AS Variable [ Name=$tokenRanked ] - AT + AT Variable [ Name=$i ] ] Where http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/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 cab13e2..2f16552 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 @@ -79,7 +79,7 @@ RecordConstructor [ ( LiteralExpr [STRING] [sum_quantity] : - FunctionCall inlined_q18_large_volume_customer.sum@1[ + FunctionCall asterix.sum@1[ ( SELECT ELEMENT [ FieldAccessor [ @@ -118,7 +118,7 @@ FROM [ FunctionCall Metadata.dataset@1[ ( LiteralExpr [STRING] [t_sum_quantity] : - FunctionCall inlined_q18_large_volume_customer.sum@1[ + FunctionCall asterix.sum@1[ ( SELECT ELEMENT [ FieldAccessor [ http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/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 56a5172..bb1b519 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 @@ -168,7 +168,7 @@ RecordConstructor [ Let Variable [ Name=$sum ] := - FunctionCall tpch.sum@1[ + FunctionCall asterix.sum@1[ ( SELECT ELEMENT [ FieldAccessor [ http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/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 2c44738..f2c8872 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 @@ -22,7 +22,7 @@ RecordConstructor [ ( LiteralExpr [STRING] [ordpercust] : - FunctionCall orders-aggreg.count@1[ + FunctionCall asterix.count@1[ FunctionCall Metadata.resolve@-1[ LiteralExpr [STRING] [o] Variable [ Name=$cid ] @@ -33,7 +33,7 @@ RecordConstructor [ ( LiteralExpr [STRING] [totalcust] : - FunctionCall orders-aggreg.sum@1[ + FunctionCall asterix.sum@1[ ( SELECT ELEMENT [ FieldAccessor [ @@ -52,7 +52,7 @@ RecordConstructor [ ( LiteralExpr [STRING] [avgcust] : - FunctionCall orders-aggreg.avg@1[ + FunctionCall asterix.avg@1[ ( SELECT ELEMENT [ FieldAccessor [ http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/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 aa7ccbd..5e220fd 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 @@ -37,7 +37,7 @@ RecordConstructor [ ( LiteralExpr [STRING] [sum_qty] : - FunctionCall tpch.sum@1[ + FunctionCall asterix.sum@1[ ( SELECT ELEMENT [ FieldAccessor [ @@ -56,7 +56,7 @@ RecordConstructor [ ( LiteralExpr [STRING] [sum_base_price] : - FunctionCall tpch.sum@1[ + FunctionCall asterix.sum@1[ ( SELECT ELEMENT [ FieldAccessor [ @@ -75,7 +75,7 @@ RecordConstructor [ ( LiteralExpr [STRING] [sum_disc_price] : - FunctionCall tpch.sum@1[ + FunctionCall asterix.sum@1[ ( SELECT ELEMENT [ OperatorExpr [ @@ -105,7 +105,7 @@ RecordConstructor [ ( LiteralExpr [STRING] [sum_charge] : - FunctionCall tpch.sum@1[ + FunctionCall asterix.sum@1[ ( SELECT ELEMENT [ OperatorExpr [ @@ -144,7 +144,7 @@ RecordConstructor [ ( LiteralExpr [STRING] [ave_qty] : - FunctionCall tpch.avg@1[ + FunctionCall asterix.avg@1[ ( SELECT ELEMENT [ FieldAccessor [ @@ -163,7 +163,7 @@ RecordConstructor [ ( LiteralExpr [STRING] [ave_price] : - FunctionCall tpch.avg@1[ + FunctionCall asterix.avg@1[ ( SELECT ELEMENT [ FieldAccessor [ @@ -182,7 +182,7 @@ RecordConstructor [ ( LiteralExpr [STRING] [ave_disc] : - FunctionCall tpch.avg@1[ + FunctionCall asterix.avg@1[ ( SELECT ELEMENT [ FieldAccessor [ @@ -201,7 +201,7 @@ RecordConstructor [ ( LiteralExpr [STRING] [count_order] : - FunctionCall tpch.count@1[ + FunctionCall asterix.count@1[ FunctionCall Metadata.resolve@-1[ LiteralExpr [STRING] [l] Variable [ Name=$l_linestatus ] http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/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 7d54130..35a0f59 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 @@ -173,7 +173,7 @@ Groupby Let Variable [ Name=$revenue ] := - FunctionCall q3_shipping_priority.sum@1[ + FunctionCall asterix.sum@1[ ( SELECT ELEMENT [ OperatorExpr [ http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/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 a220cf6..6795260 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 @@ -394,7 +394,7 @@ Groupby Let Variable [ Name=$revenue ] := - FunctionCall q5_local_supplier.sum@1[ + FunctionCall asterix.sum@1[ ( SELECT ELEMENT [ OperatorExpr [ http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q2.ast ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q2.ast b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q2.ast index adb9a05..cfeb5fc 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q2.ast +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q2.ast @@ -91,7 +91,7 @@ Groupby Let Variable [ Name=$sig_sponsorship_count ] := - FunctionCall events.sql-count@1[ + FunctionCall asterix.sql-count@1[ ( SELECT ELEMENT [ FunctionCall Metadata.resolve@-1[ @@ -121,7 +121,7 @@ Let Variable [ Name=$by_chapter ] ( LiteralExpr [STRING] [escount] : - FunctionCall events.sql-count@1[ + FunctionCall asterix.sql-count@1[ ( SELECT ELEMENT [ FieldAccessor [ http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/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 b588daa..d8f328a 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 @@ -136,7 +136,7 @@ FunctionDecl q22_customer_tmp([]) { Query: Let Variable [ Name=$avg ] := - FunctionCall tpch.avg@1[ + FunctionCall asterix.avg@1[ ( SELECT ELEMENT [ FieldAccessor [ @@ -226,7 +226,7 @@ RecordConstructor [ ( LiteralExpr [STRING] [numcust] : - FunctionCall tpch.count@1[ + FunctionCall asterix.count@1[ FunctionCall Metadata.resolve@-1[ LiteralExpr [STRING] [ct] Variable [ Name=$cntrycode ] @@ -237,7 +237,7 @@ RecordConstructor [ ( LiteralExpr [STRING] [totacctbal] : - FunctionCall tpch.sum@1[ + FunctionCall asterix.sum@1[ ( SELECT ELEMENT [ FieldAccessor [ @@ -261,7 +261,7 @@ FROM [ FunctionCall tpch.q22_customer_tmp@0[ ] Where OperatorExpr [ - FunctionCall tpch.count@1[ + FunctionCall asterix.count@1[ ( SELECT ELEMENT [ Variable [ Name=$o ] http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue601.ast ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue601.ast b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue601.ast index 5cffeb4..3f3558d 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue601.ast +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue601.ast @@ -31,7 +31,7 @@ RecordConstructor [ ( LiteralExpr [STRING] [count_order] : - FunctionCall tpch.sql-count@1[ + FunctionCall asterix.sql-count@1[ ( SELECT ELEMENT [ FieldAccessor [ http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/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 c733869..b106711 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 @@ -17,7 +17,7 @@ RecordConstructor [ ( LiteralExpr [STRING] [avg] : - FunctionCall test.avg@1[ + FunctionCall asterix.avg@1[ ( SELECT ELEMENT [ FieldAccessor [ http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/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 8dc0e87..c383a04 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 @@ -186,7 +186,7 @@ Let Variable [ Name=$X ] Let Variable [ Name=$sum ] := - FunctionCall tpch.sum@1[ + FunctionCall asterix.sum@1[ ( SELECT ELEMENT [ FieldAccessor [ http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue810-2.ast ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue810-2.ast b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue810-2.ast index c75e253..90336e2 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue810-2.ast +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue810-2.ast @@ -36,28 +36,28 @@ RecordConstructor [ ( LiteralExpr [STRING] [count_cheaps] : - FunctionCall tpch.count@1[ + FunctionCall asterix.count@1[ Variable [ Name=$cheaps ] ] ) ( LiteralExpr [STRING] [avg_expensive_discounts] : - FunctionCall tpch.avg@1[ + FunctionCall asterix.avg@1[ Variable [ Name=$expensives ] ] ) ( LiteralExpr [STRING] [sum_disc_prices] : - FunctionCall tpch.sum@1[ + FunctionCall asterix.sum@1[ Variable [ Name=$disc_prices ] ] ) ( LiteralExpr [STRING] [total_charges] : - FunctionCall tpch.sum@1[ + FunctionCall asterix.sum@1[ Variable [ Name=$charges ] ] ) http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue810.ast ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue810.ast b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue810.ast index 612bbfa..65d64bc 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue810.ast +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue810.ast @@ -36,14 +36,14 @@ RecordConstructor [ ( LiteralExpr [STRING] [count_cheaps] : - FunctionCall tpch.count@1[ + FunctionCall asterix.count@1[ Variable [ Name=$cheap ] ] ) ( LiteralExpr [STRING] [count_expensives] : - FunctionCall tpch.count@1[ + FunctionCall asterix.count@1[ Variable [ Name=$expensive ] ] ) http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue827-2.ast ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue827-2.ast b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue827-2.ast index 61c78ef..50efae7 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue827-2.ast +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue827-2.ast @@ -25,7 +25,7 @@ RecordConstructor [ ( LiteralExpr [STRING] [sum_qty_partial] : - FunctionCall tpch.sum@1[ + FunctionCall asterix.sum@1[ ( SELECT ELEMENT [ FieldAccessor [ @@ -53,7 +53,7 @@ RecordConstructor [ ( LiteralExpr [STRING] [sum_base_price] : - FunctionCall tpch.sum@1[ + FunctionCall asterix.sum@1[ ( SELECT ELEMENT [ FieldAccessor [ @@ -72,7 +72,7 @@ RecordConstructor [ ( LiteralExpr [STRING] [sum_disc_price] : - FunctionCall tpch.sum@1[ + FunctionCall asterix.sum@1[ ( SELECT ELEMENT [ OperatorExpr [ @@ -102,7 +102,7 @@ RecordConstructor [ ( LiteralExpr [STRING] [sum_charge] : - FunctionCall tpch.sum@1[ + FunctionCall asterix.sum@1[ ( SELECT ELEMENT [ OperatorExpr [ @@ -141,7 +141,7 @@ RecordConstructor [ ( LiteralExpr [STRING] [ave_qty] : - FunctionCall tpch.avg@1[ + FunctionCall asterix.avg@1[ ( SELECT ELEMENT [ FieldAccessor [ @@ -169,7 +169,7 @@ RecordConstructor [ ( LiteralExpr [STRING] [ave_price] : - FunctionCall tpch.avg@1[ + FunctionCall asterix.avg@1[ ( SELECT ELEMENT [ FieldAccessor [ @@ -188,7 +188,7 @@ RecordConstructor [ ( LiteralExpr [STRING] [ave_disc] : - FunctionCall tpch.avg@1[ + FunctionCall asterix.avg@1[ ( SELECT ELEMENT [ FieldAccessor [ @@ -207,7 +207,7 @@ RecordConstructor [ ( LiteralExpr [STRING] [count_order] : - FunctionCall tpch.count@1[ + FunctionCall asterix.count@1[ ( SELECT ELEMENT [ Variable [ Name=$l ] http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/split-materialization-above-join.ast ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/split-materialization-above-join.ast b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/split-materialization-above-join.ast index 76447cd..c5c32c6 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/split-materialization-above-join.ast +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/split-materialization-above-join.ast @@ -179,7 +179,7 @@ FROM [ FunctionCall Metadata.dataset@1[ ) Orderby - FunctionCall fuzzyjoin.sql-count@1[ + FunctionCall asterix.sql-count@1[ ( SELECT ELEMENT [ FieldAccessor [ @@ -198,7 +198,7 @@ FROM [ FunctionCall Metadata.dataset@1[ ) AS Variable [ Name=$tokenRanked ] - AT + AT Variable [ Name=$i ] ] Where @@ -264,7 +264,7 @@ Variable [ Name=$i ] ) Orderby - FunctionCall fuzzyjoin.sql-count@1[ + FunctionCall asterix.sql-count@1[ ( SELECT ELEMENT [ FieldAccessor [ @@ -283,7 +283,7 @@ Variable [ Name=$i ] ) AS Variable [ Name=$tokenRanked ] - AT + AT Variable [ Name=$i ] ] Where http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/split-materialization.ast ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/split-materialization.ast b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/split-materialization.ast index 6927f09..1824e70 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/split-materialization.ast +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/split-materialization.ast @@ -33,7 +33,7 @@ Let Variable [ Name=$lonelyusers ] ] Where OperatorExpr [ - FunctionCall TinySocial.count@1[ + FunctionCall asterix.count@1[ FieldAccessor [ Variable [ Name=$d ] Field=friend-ids @@ -56,7 +56,7 @@ Let Variable [ Name=$lonelyusers2 ] ] Where OperatorExpr [ - FunctionCall TinySocial.count@1[ + FunctionCall asterix.count@1[ FieldAccessor [ Variable [ Name=$d ] Field=friend-ids http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-app/src/test/resources/parserts/results_parser_sqlpp/2.ast ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/parserts/results_parser_sqlpp/2.ast b/asterixdb/asterix-app/src/test/resources/parserts/results_parser_sqlpp/2.ast index 9e50f02..0ee0fbd 100644 --- a/asterixdb/asterix-app/src/test/resources/parserts/results_parser_sqlpp/2.ast +++ b/asterixdb/asterix-app/src/test/resources/parserts/results_parser_sqlpp/2.ast @@ -58,7 +58,7 @@ Groupby Let Variable [ Name=$sig_sponsorship_count ] := - FunctionCall null.sql-count@1[ + FunctionCall asterix.sql-count@1[ ( SELECT ELEMENT [ FunctionCall Metadata.resolve@-1[ @@ -88,7 +88,7 @@ Let Variable [ Name=$by_chapter ] ( LiteralExpr [STRING] [escount] : - FunctionCall null.sql-count@1[ + FunctionCall asterix.sql-count@1[ ( SELECT ELEMENT [ FunctionCall Metadata.resolve@-1[ http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-app/src/test/resources/parserts/results_parser_sqlpp/groupby_clause_count.ast ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/parserts/results_parser_sqlpp/groupby_clause_count.ast b/asterixdb/asterix-app/src/test/resources/parserts/results_parser_sqlpp/groupby_clause_count.ast index 1f46935..5e45f4e 100644 --- a/asterixdb/asterix-app/src/test/resources/parserts/results_parser_sqlpp/groupby_clause_count.ast +++ b/asterixdb/asterix-app/src/test/resources/parserts/results_parser_sqlpp/groupby_clause_count.ast @@ -1,6 +1,6 @@ Query: SELECT ELEMENT [ -FunctionCall null.sql-count@1[ +FunctionCall asterix.sql-count@1[ ( SELECT ELEMENT [ FieldAccessor [ http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-app/src/test/resources/parserts/results_parser_sqlpp/nestedFLWOGR3.ast ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/parserts/results_parser_sqlpp/nestedFLWOGR3.ast b/asterixdb/asterix-app/src/test/resources/parserts/results_parser_sqlpp/nestedFLWOGR3.ast index 9c4682d..f9be2c5 100644 --- a/asterixdb/asterix-app/src/test/resources/parserts/results_parser_sqlpp/nestedFLWOGR3.ast +++ b/asterixdb/asterix-app/src/test/resources/parserts/results_parser_sqlpp/nestedFLWOGR3.ast @@ -58,7 +58,7 @@ Groupby Let Variable [ Name=$sig_sponsorship_count ] := - FunctionCall null.sql-count@1[ + FunctionCall asterix.sql-count@1[ ( SELECT ELEMENT [ FunctionCall Metadata.resolve@-1[ @@ -88,7 +88,7 @@ Let Variable [ Name=$by_chapter ] ( LiteralExpr [STRING] [escount] : - FunctionCall null.sql-count@1[ + FunctionCall asterix.sql-count@1[ ( SELECT ELEMENT [ FunctionCall Metadata.resolve@-1[ http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/avg_distinct/avg_distinct.1.query.sqlpp ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/avg_distinct/avg_distinct.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/avg_distinct/avg_distinct.1.query.sqlpp new file mode 100644 index 0000000..cae2b8f --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/avg_distinct/avg_distinct.1.query.sqlpp @@ -0,0 +1,24 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + { + 't1': to_bigint(array_avg(distinct [10,20,30,10,20,30,10])), + 't2': to_bigint(array_avg(distinct [null,missing,null,missing])), + 't3': to_bigint(array_avg(distinct [40,null,missing,50,40,null,missing,50,40])), + 't4': to_bigint(array_avg(distinct [])) + } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/count_distinct/count_distinct.1.query.sqlpp ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/count_distinct/count_distinct.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/count_distinct/count_distinct.1.query.sqlpp new file mode 100644 index 0000000..80dc741 --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/count_distinct/count_distinct.1.query.sqlpp @@ -0,0 +1,24 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + { + 't1': array_count(distinct [10,20,30,10,20,30,10]), + 't2': array_count(distinct [null,missing,null,missing]), + 't3': array_count(distinct [40,null,missing,50,40,null,missing,50,40]), + 't4': array_count(distinct []) + } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/max_distinct/max_distinct.1.query.sqlpp ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/max_distinct/max_distinct.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/max_distinct/max_distinct.1.query.sqlpp new file mode 100644 index 0000000..0f381f7 --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/max_distinct/max_distinct.1.query.sqlpp @@ -0,0 +1,24 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + { + 't1': array_max(distinct [10,20,30,10,20,30,10]), + 't2': array_max(distinct [null,missing,null,missing]), + 't3': array_max(distinct [40,null,missing,50,40,null,missing,50,40]), + 't4': array_max(distinct []) + } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/min_distinct/min_distinct.1.query.sqlpp ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/min_distinct/min_distinct.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/min_distinct/min_distinct.1.query.sqlpp new file mode 100644 index 0000000..8a25c31 --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/min_distinct/min_distinct.1.query.sqlpp @@ -0,0 +1,24 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + { + 't1': array_min(distinct [10,20,30,10,20,30,10]), + 't2': array_min(distinct [null,missing,null,missing]), + 't3': array_min(distinct [40,null,missing,50,40,null,missing,50,40]), + 't4': array_min(distinct []) + } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/sum_distinct/sum_distinct.1.query.sqlpp ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/sum_distinct/sum_distinct.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/sum_distinct/sum_distinct.1.query.sqlpp new file mode 100644 index 0000000..53aacdf --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/sum_distinct/sum_distinct.1.query.sqlpp @@ -0,0 +1,24 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + { + 't1': array_sum(distinct [10,20,30,10,20,30,10]), + 't2': array_sum(distinct [null,missing,null,missing]), + 't3': array_sum(distinct [40,null,missing,50,40,null,missing,50,40]), + 't4': array_sum(distinct []) + } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/avg_distinct/avg_distinct.1.query.sqlpp ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/avg_distinct/avg_distinct.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/avg_distinct/avg_distinct.1.query.sqlpp new file mode 100644 index 0000000..c9a79fb --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/avg_distinct/avg_distinct.1.query.sqlpp @@ -0,0 +1,24 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + { + 't1': to_bigint(coll_avg(distinct [10,20,30,10,20,30,10])), + 't2': to_bigint(coll_avg(distinct [null,missing,null,missing])), + 't3': to_bigint(coll_avg(distinct [40,null,missing,50,40,null,missing,50,40])), + 't4': to_bigint(coll_avg(distinct [])) + } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/count_distinct/count_distinct.1.query.sqlpp ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/count_distinct/count_distinct.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/count_distinct/count_distinct.1.query.sqlpp new file mode 100644 index 0000000..a7d9b90 --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/count_distinct/count_distinct.1.query.sqlpp @@ -0,0 +1,24 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + { + 't1': coll_count(distinct [10,20,30,10,20,30,10]), + 't2': coll_count(distinct [null,missing,null,missing]), + 't3': coll_count(distinct [40,null,missing,50,40,null,missing,50,40]), + 't4': coll_count(distinct []) + } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/max_distinct/max_distinct.1.query.sqlpp ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/max_distinct/max_distinct.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/max_distinct/max_distinct.1.query.sqlpp new file mode 100644 index 0000000..70f273f --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/max_distinct/max_distinct.1.query.sqlpp @@ -0,0 +1,24 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + { + 't1': coll_max(distinct [10,20,30,10,20,30,10]), + 't2': coll_max(distinct [null,missing,null,missing]), + 't3': coll_max(distinct [40,null,missing,50,40,null,missing,50,40]), + 't4': coll_max(distinct []) + } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/min_distinct/min_distinct.1.query.sqlpp ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/min_distinct/min_distinct.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/min_distinct/min_distinct.1.query.sqlpp new file mode 100644 index 0000000..77684a0 --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/min_distinct/min_distinct.1.query.sqlpp @@ -0,0 +1,24 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + { + 't1': coll_min(distinct [10,20,30,10,20,30,10]), + 't2': coll_min(distinct [null,missing,null,missing]), + 't3': coll_min(distinct [40,null,missing,50,40,null,missing,50,40]), + 't4': coll_min(distinct []) + } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/sum_distinct/sum_distinct.1.query.sqlpp ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/sum_distinct/sum_distinct.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/sum_distinct/sum_distinct.1.query.sqlpp new file mode 100644 index 0000000..6991a74 --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/sum_distinct/sum_distinct.1.query.sqlpp @@ -0,0 +1,24 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + { + 't1': coll_sum(distinct [10,20,30,10,20,30,10]), + 't2': coll_sum(distinct [null,missing,null,missing]), + 't3': coll_sum(distinct [40,null,missing,50,40,null,missing,50,40]), + 't4': coll_sum(distinct []) + } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/sugar-06-distinct/sugar-06-distinct.1.ddl.sqlpp ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/sugar-06-distinct/sugar-06-distinct.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/sugar-06-distinct/sugar-06-distinct.1.ddl.sqlpp new file mode 100644 index 0000000..0330592 --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/sugar-06-distinct/sugar-06-distinct.1.ddl.sqlpp @@ -0,0 +1,29 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +DROP DATAVERSE gby IF EXISTS; +CREATE DATAVERSE gby; + +USE gby; + +CREATE TYPE EmpType AS { + name : string +}; + +CREATE DATASET Employee(EmpType) PRIMARY KEY name; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/sugar-06-distinct/sugar-06-distinct.2.update.sqlpp ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/sugar-06-distinct/sugar-06-distinct.2.update.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/sugar-06-distinct/sugar-06-distinct.2.update.sqlpp new file mode 100644 index 0000000..3fe9478 --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/sugar-06-distinct/sugar-06-distinct.2.update.sqlpp @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +USE gby; + +INSERT INTO Employee ( +[ + { 'name': 'a', 'deptno': 1, 'salary': 2000 }, + { 'name': 'b', 'deptno': 1, 'salary': 3000 }, + { 'name': 'c', 'deptno': 1, 'salary': 2000 }, + { 'name': 'd', 'deptno': 1, 'salary': 3000 }, + { 'name': 'e', 'deptno': 1, 'salary': 2000 }, + + { 'name': 'f', 'deptno': 2, 'salary': 4000 }, + { 'name': 'g', 'deptno': 2, 'salary': 5000 }, + { 'name': 'h', 'deptno': 2, 'salary': 4000 }, + { 'name': 'i', 'deptno': 2, 'salary': 5000 }, + { 'name': 'j', 'deptno': 2, 'salary': 4000 }, + + { 'name': 'k', 'deptno': 3, 'salary': null }, + { 'name': 'l', 'deptno': 3, 'salary': 6000 }, + { 'name': 'm', 'deptno': 3 }, + { 'name': 'n', 'deptno': 3, 'salary': null }, + { 'name': 'o', 'deptno': 3, 'salary': 6000 }, + { 'name': 'p', 'deptno': 3 }, + + { 'name': 'q', 'deptno': 4 } +] +); \ No newline at end of file http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/sugar-06-distinct/sugar-06-distinct.3.query.sqlpp ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/sugar-06-distinct/sugar-06-distinct.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/sugar-06-distinct/sugar-06-distinct.3.query.sqlpp new file mode 100644 index 0000000..4c64f14 --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/sugar-06-distinct/sugar-06-distinct.3.query.sqlpp @@ -0,0 +1,25 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +USE gby; + +FROM gby.Employee e +GROUP BY e.deptno AS deptno +SELECT VALUE [ deptno, COUNT(DISTINCT e.salary) ] +ORDER BY deptno; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/sugar-06-distinct/sugar-06-distinct.4.query.sqlpp ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/sugar-06-distinct/sugar-06-distinct.4.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/sugar-06-distinct/sugar-06-distinct.4.query.sqlpp new file mode 100644 index 0000000..524a88b --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/sugar-06-distinct/sugar-06-distinct.4.query.sqlpp @@ -0,0 +1,25 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +USE gby; + +FROM gby.Employee e +GROUP BY e.deptno AS deptno +SELECT VALUE [ deptno, SUM(DISTINCT e.salary) ] +ORDER BY deptno; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/sugar-06-distinct/sugar-06-distinct.5.query.sqlpp ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/sugar-06-distinct/sugar-06-distinct.5.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/sugar-06-distinct/sugar-06-distinct.5.query.sqlpp new file mode 100644 index 0000000..d0a2aaf --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/sugar-06-distinct/sugar-06-distinct.5.query.sqlpp @@ -0,0 +1,25 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +USE gby; + +FROM gby.Employee e +GROUP BY e.deptno AS deptno +SELECT VALUE [ deptno, TO_BIGINT(AVG(DISTINCT e.salary)) ] +ORDER BY deptno; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/sugar-06-distinct/sugar-06-distinct.6.query.sqlpp ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/sugar-06-distinct/sugar-06-distinct.6.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/sugar-06-distinct/sugar-06-distinct.6.query.sqlpp new file mode 100644 index 0000000..867ca3a --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/sugar-06-distinct/sugar-06-distinct.6.query.sqlpp @@ -0,0 +1,25 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +USE gby; + +FROM gby.Employee e +GROUP BY e.deptno AS deptno +SELECT VALUE [ deptno, MAX(DISTINCT e.salary) ] +ORDER BY deptno; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/sugar-06-distinct/sugar-06-distinct.7.query.sqlpp ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/sugar-06-distinct/sugar-06-distinct.7.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/sugar-06-distinct/sugar-06-distinct.7.query.sqlpp new file mode 100644 index 0000000..6ab01d7 --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/sugar-06-distinct/sugar-06-distinct.7.query.sqlpp @@ -0,0 +1,25 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +USE gby; + +FROM gby.Employee e +GROUP BY e.deptno AS deptno +SELECT VALUE [ deptno, MIN(DISTINCT e.salary) ] +ORDER BY deptno; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/sugar-06-distinct/sugar-06-distinct.8.query.sqlpp ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/sugar-06-distinct/sugar-06-distinct.8.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/sugar-06-distinct/sugar-06-distinct.8.query.sqlpp new file mode 100644 index 0000000..69d95bc --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/group-by/sugar-06-distinct/sugar-06-distinct.8.query.sqlpp @@ -0,0 +1,25 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +USE gby; + +FROM gby.Employee e +GROUP BY e.deptno AS deptno GROUP AS g +SELECT VALUE [ deptno, ARRAY_SUM((SELECT DISTINCT VALUE g.e.salary FROM g )) ] +ORDER BY deptno; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7a4b5681/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/avg_distinct/avg_distinct.1.adm ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/avg_distinct/avg_distinct.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/avg_distinct/avg_distinct.1.adm new file mode 100644 index 0000000..a7b36e6 --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/avg_distinct/avg_distinct.1.adm @@ -0,0 +1 @@ +{ "t1": 20, "t2": null, "t3": 45, "t4": null } \ No newline at end of file
