Hello Anon. E. Moose #1000171, Jenkins, I'd like you to reexamine a change. Please visit
https://asterix-gerrit.ics.uci.edu/1381 to look at the new patch set (#56). Change subject: Enable the parallel sort in the optimizor. ...................................................................... Enable the parallel sort in the optimizor. Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round. 1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor. 2. Introduce hint "psort" before sort to enable the user to use parallel sort. 3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator. 4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied: a. Single column sort. b. non-topK condition inlined. 5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward. 6. Add and partially enable the opt/rtTest cases, including: a. Psort on full records. b. Psort on a join results. c. Nested psort within a subplan below a secondary sort or psort. 7. Use binarySearch in two RangePartitioners. Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5 --- A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java A asterixdb/asterix-app/data/psort/cust4k-1.tbl A asterixdb/asterix-app/data/psort/cust4k-2.tbl A asterixdb/asterix-app/data/psort/cust4k-3.tbl A asterixdb/asterix-app/data/psort/cust4k-4.tbl A asterixdb/asterix-app/data/skew/zipfian.tbl A asterixdb/asterix-app/data/skew/zipfian1.tbl A asterixdb/asterix-app/data/skew/zipfian2.tbl A asterixdb/asterix-app/data/skew/zipfianmissing_1.tbl A asterixdb/asterix-app/data/skew/zipfianmissing_2.tbl A asterixdb/asterix-app/data/skew/zipfiannull_1.tbl A asterixdb/asterix-app/data/skew/zipfiannull_2.tbl A asterixdb/asterix-app/data/tpch0.001/lineitem-part1.tbl A asterixdb/asterix-app/data/tpch0.001/lineitem-part2.tbl M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/resource/OperatorResourcesComputer.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/resource/PlanStagesGenerator.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/resource/RequiredCapacityVisitor.java A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.4.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.3.query.aql M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/load/rg_load/rg_load.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/load/rg_load/rg_load.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/load/rg_load/rg_load.3.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.2.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.3.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.4.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/psort/psort_group/psort_group.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/psort/psort_group/psort_group.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/psort/psort_group/psort_group.3.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/psort/psort_join/psort_join.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/psort/psort_join/psort_join.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/psort/psort_join/psort_join.3.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/psort/psort_join_group/psort_join_group.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/psort/psort_join_group/psort_join_group.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/psort/psort_join_group/psort_join_group.3.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/psort/psort_join_nested/psort_join_nested.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/psort/psort_join_nested/psort_join_nested.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/psort/psort_join_nested/psort_join_nested.3.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/psort/psort_join_result/psort_join_result.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/psort/psort_join_result/psort_join_result.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/psort/psort_join_result/psort_join_result.3.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/psort/psort_prime/psort_prime.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/psort/psort_prime/psort_prime.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/psort/psort_prime/psort_prime.3.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/psort/psort_prime_null/psort_prime_null.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/psort/psort_prime_null/psort_prime_null.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/psort/psort_prime_null/psort_prime_null.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/psort/psort_prime_seminull/psort_prime_seminull.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/psort/psort_prime_seminull/psort_prime_seminull.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/psort/psort_prime_seminull/psort_prime_seminull.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.3.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double_missing/rg_double_missing.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_missing/rg_int16_missing.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_null/rg_int16_null.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_seminull/rg_int16_seminull.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32_missing/rg_int32_missing.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64_missing/rg_int64_missing.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.3.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.4.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string_missing/rg_string_missing.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_result/psort_join_result.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/range-hints/order-by-exception_03/order-by-exception_03.4.adm M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionCollection.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/sample/SamplingForwardOperatorDescriptor.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitorJson.java A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/utils/LogicalOperatorDotVisitor.java M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/io/GeneratedRunFileReader.java M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/io/RunFileReader.java M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/io/RunFileWriter.java M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorDescriptor.java A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/prefix.tbl A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfian1.tbl A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfian2.tbl M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java M hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-invertedindex-test/src/test/java/org/apache/hyracks/storage/am/lsm/invertedindex/util/LSMInvertedIndexTestUtils.java 278 files changed, 32,962 insertions(+), 483 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/56 -- To view, visit https://asterix-gerrit.ics.uci.edu/1381 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5 Gerrit-PatchSet: 56 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Wenhai Li <lwhay...@gmail.com> Gerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Chen Li <che...@gmail.com> Gerrit-Reviewer: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Gerrit-Reviewer: Michael Carey <dtab...@gmail.com> Gerrit-Reviewer: Preston Carman <prest...@apache.org> Gerrit-Reviewer: Till Westmann <ti...@apache.org> Gerrit-Reviewer: Wenhai Li <lwhay...@gmail.com> Gerrit-Reviewer: Yingyi Bu <buyin...@gmail.com>