You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by AsterixDB Code Review <do...@asterix-gerrit.ics.uci.edu> on 2026/08/20 03:50:41 UTC
[XL] Change in asterixdb[master]: [WIP][DON'T REVIEW] CLUSTER-BY CLAUSE integration
From Hongyu Shi <le...@gmail.com>:
Attention is currently required from: Hongyu Shi.
Hello Anon. E. Moose #1000171,
I'd like you to reexamine a change. Please visit
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21582?usp=email
to look at the new patch set (#2).
The following approvals got outdated and were removed:
Contrib-2 by Anon. E. Moose #1000171
Change subject: [WIP][DON'T REVIEW] CLUSTER-BY CLAUSE integration
......................................................................
[WIP][DON'T REVIEW] CLUSTER-BY CLAUSE integration
- user model changes: yes
- storage format changes: no
- interface changes: yes
Details:
The CLUSTER BY clause as a single patch: grammar and desugar rewrite, the distributed k-means runtime, k-means|| initialization, and the cosine metric. Squashed for CI validation only -- the work is under review as the separate changes it is split into.
Change-Id: I3517099be39e73b66843d5c0347b4c1e9ae98bb2
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/AbstractKMeansLoopPOperator.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/AbstractKMeansStagePOperator.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/KMeansLloydLoopPOperator.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/KMeansOversampleLoopPOperator.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/KMeansReclusterPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/compiler/provider/SqlppCompilationProvider.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/AsterixInlineVariablesRule.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/am/BTreeAccessMethod.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/EstimatedCostComputationVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/pushdown/visitor/PushdownOperatorVisitor.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/SqlppExpressionToPlanTranslator.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/resources/optimizerts/queries/cluster-by/kmeans-full-validate.sqlpp
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/cluster-by/kmeans-init-random-validate.sqlpp
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/cluster-by/kmeans-limit-input-validate.sqlpp
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/cluster-by/kmeans-syntax-full-validate.sqlpp
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/cluster-by/kmeans-syntax-validate.sqlpp
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/cluster-by/kmeans-validate.sqlpp
A asterixdb/asterix-app/src/test/resources/optimizerts/results/cluster-by/kmeans-full-validate.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/cluster-by/kmeans-init-random-validate.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/cluster-by/kmeans-limit-input-validate.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/cluster-by/kmeans-syntax-full-validate.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/cluster-by/kmeans-syntax-validate.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/cluster-by/kmeans-validate.plan
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/ClusterByQueries.xml
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/cosine-metric/cosine-metric.1.ddl.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/cosine-metric/cosine-metric.2.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/cosine-metric/cosine-metric.3.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/join-in-from/join-in-from.1.ddl.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/join-in-from/join-in-from.2.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/join-in-from/join-in-from.3.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/join-in-from/join-in-from.4.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-budget-sensitivity/kmeans-budget-sensitivity.1.ddl.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-budget-sensitivity/kmeans-budget-sensitivity.2.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-budget-sensitivity/kmeans-budget-sensitivity.3.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-budget-sensitivity/kmeans-budget-sensitivity.4.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-budget-sensitivity/kmeans-budget-sensitivity.5.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-duplicate-points/kmeans-duplicate-points.1.ddl.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-duplicate-points/kmeans-duplicate-points.2.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-duplicate-points/kmeans-duplicate-points.3.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-duplicate-points/kmeans-duplicate-points.4.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-exec/kmeans-exec.1.ddl.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-exec/kmeans-exec.2.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-exec/kmeans-exec.3.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-init-kmeanspp/kmeans-init-kmeanspp.1.ddl.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-init-kmeanspp/kmeans-init-kmeanspp.2.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-init-kmeanspp/kmeans-init-kmeanspp.3.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-init-random/kmeans-init-random.1.ddl.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-init-random/kmeans-init-random.2.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-init-random/kmeans-init-random.3.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-limit-input/kmeans-limit-input.1.ddl.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-limit-input/kmeans-limit-input.2.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-limit-input/kmeans-limit-input.3.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-mixed-dimensions/kmeans-mixed-dimensions.1.ddl.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-mixed-dimensions/kmeans-mixed-dimensions.2.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-mixed-dimensions/kmeans-mixed-dimensions.3.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-mixed-dimensions/kmeans-mixed-dimensions.4.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-mixed-dimensions/kmeans-mixed-dimensions.5.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-more-clusters-than-data/kmeans-more-clusters-than-data.1.ddl.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-more-clusters-than-data/kmeans-more-clusters-than-data.2.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-more-clusters-than-data/kmeans-more-clusters-than-data.3.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-more-clusters-than-data/kmeans-more-clusters-than-data.4.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-random-init-short/kmeans-random-init-short.1.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-syntax-noinline/kmeans-syntax-noinline.1.ddl.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-syntax-noinline/kmeans-syntax-noinline.2.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-syntax-noinline/kmeans-syntax-noinline.3.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-syntax-random/kmeans-syntax-random.1.ddl.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-syntax-random/kmeans-syntax-random.2.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-syntax-random/kmeans-syntax-random.3.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-syntax/kmeans-syntax.1.ddl.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-syntax/kmeans-syntax.2.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-syntax/kmeans-syntax.3.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-syntax/kmeans-syntax.4.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-unequal-groups/kmeans-unequal-groups.1.ddl.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-unequal-groups/kmeans-unequal-groups.2.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/kmeans-unequal-groups/kmeans-unequal-groups.3.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/nearest-centroid-distance/nearest-centroid-distance.1.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/negative/bare-descriptor/test.1.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/negative/clusterbymemory-below-minimum/test.1.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/negative/dimension-nonpositive/test.1.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/negative/dimension-not-array/test.1.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/negative/dimension-wrong-arity/test.1.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/negative/let-in-block/test.1.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/negative/missing-dimension/test.1.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/negative/missing-numclusters/test.1.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/negative/nonpositive-numclusters/test.1.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/negative/setop-with-clusterby/test.1.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/negative/unknown-descriptor-field/test.1.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/negative/unknown-distance/test.1.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/negative/unknown-init-mode/test.1.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/negative/unknown-option/test.1.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/negative/unsupported-algorithm/test.1.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/negative/unsupported-distance/test.1.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/unnest-in-from/unnest-in-from.1.ddl.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/unnest-in-from/unnest-in-from.2.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/unnest-in-from/unnest-in-from.3.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cluster-by/unnest-in-from/unnest-in-from.4.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/results/cluster-by/cosine-metric/cosine-metric.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cluster-by/join-in-from/join-in-from.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cluster-by/join-in-from/join-in-from.4.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cluster-by/kmeans-budget-sensitivity/kmeans-budget-sensitivity.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cluster-by/kmeans-budget-sensitivity/kmeans-budget-sensitivity.4.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cluster-by/kmeans-budget-sensitivity/kmeans-budget-sensitivity.5.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cluster-by/kmeans-duplicate-points/kmeans-duplicate-points.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cluster-by/kmeans-duplicate-points/kmeans-duplicate-points.4.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cluster-by/kmeans-exec/kmeans-exec.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cluster-by/kmeans-init-kmeanspp/kmeans-init-kmeanspp.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cluster-by/kmeans-init-random/kmeans-init-random.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cluster-by/kmeans-limit-input/kmeans-limit-input.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cluster-by/kmeans-mixed-dimensions/kmeans-mixed-dimensions.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cluster-by/kmeans-mixed-dimensions/kmeans-mixed-dimensions.4.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cluster-by/kmeans-mixed-dimensions/kmeans-mixed-dimensions.5.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cluster-by/kmeans-more-clusters-than-data/kmeans-more-clusters-than-data.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cluster-by/kmeans-more-clusters-than-data/kmeans-more-clusters-than-data.4.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cluster-by/kmeans-random-init-short/kmeans-random-init-short.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cluster-by/kmeans-syntax-noinline/kmeans-syntax-noinline.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cluster-by/kmeans-syntax-random/kmeans-syntax-random.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cluster-by/kmeans-syntax/kmeans-syntax.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cluster-by/kmeans-syntax/kmeans-syntax.4.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cluster-by/kmeans-unequal-groups/kmeans-unequal-groups.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cluster-by/nearest-centroid-distance/nearest-centroid-distance.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cluster-by/unnest-in-from/unnest-in-from.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cluster-by/unnest-in-from/unnest-in-from.4.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/CompilerProperties.java
M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/OptimizationConfUtil.java
M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java
M asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/base/Clause.java
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/rewrites/LangRewritingContext.java
A asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/clause/ClusterbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/clause/SelectBlock.java
M asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/rewrites/SqlppQueryRewriter.java
M asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/rewrites/visitor/InlineWithExpressionVisitor.java
A asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/rewrites/visitor/SqlppClusterByVisitor.java
M asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/rewrites/visitor/SqlppGatherFunctionCallsVisitor.java
M asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/rewrites/visitor/SqlppInlineUdfsVisitor.java
M asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/visitor/CheckDatasetOnlyResolutionVisitor.java
M asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/visitor/CheckSql92AggregateVisitor.java
M asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/visitor/CheckSubqueryVisitor.java
M asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/visitor/DeepCopyVisitor.java
M asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/visitor/FreeVariableVisitor.java
M asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/visitor/SqlppAstPrintVisitor.java
M asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/visitor/SqlppCloneAndSubstituteVariablesVisitor.java
M asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/visitor/SqlppFormatPrintVisitor.java
M asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/visitor/base/AbstractSqlppAstVisitor.java
M asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/visitor/base/AbstractSqlppContainsExpressionVisitor.java
M asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/visitor/base/AbstractSqlppExpressionScopingVisitor.java
M asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/visitor/base/AbstractSqlppSimpleExpressionVisitor.java
M asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/visitor/base/ISqlppVisitor.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
A asterixdb/asterix-lang-sqlpp/src/test/java/org/apache/asterix/lang/sqlpp/parser/ClusterByParserTest.java
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/LocalCentroidTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NullableOrderedListOfADoubleTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/OrderedListOfADoubleTypeComputer.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/test/om/typecomputer/TypeComputerTest.java
M asterixdb/asterix-runtime/pom.xml
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarCentroidAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarSqlCentroidAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractCentroidAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/CentroidAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/CentroidAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalCentroidAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalCentroidAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalSqlCentroidAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/IntermediateCentroidAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/IntermediateCentroidAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/IntermediateSqlCentroidAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalCentroidAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalCentroidAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalSqlCentroidAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/SqlCentroidAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/vector/NearestCentroidDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/vector/NearestCentroidDistanceDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/vector/NearestCentroidScalarEvaluator.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/kmeans/CentroidStore.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/kmeans/KMeansCentroidMergeOperatorDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/kmeans/KMeansCostControllerOperatorDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/kmeans/KMeansLloydControllerOperatorDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/kmeans/KMeansLloydReleaseOperatorDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/kmeans/KMeansLoopIO.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/kmeans/KMeansPhiMergeOperatorDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/kmeans/KMeansPoolMergeOperatorDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/kmeans/KMeansReclusterOperatorDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/kmeans/KMeansReleaseOperatorDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/kmeans/KMeansSampleOperatorDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/kmeans/KMeansStageRuntime.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/kmeans/KMeansVectorCodec.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/kmeans/LoopControlState.java
A asterixdb/asterix-runtime/src/test/java/org/apache/asterix/runtime/operators/LoopControlStateTest.java
A asterixdb/asterix-runtime/src/test/java/org/apache/asterix/runtime/operators/kmeans/KMeansBoundedScanTest.java
A asterixdb/asterix-runtime/src/test/java/org/apache/asterix/runtime/operators/kmeans/KMeansCentroidStoreTest.java
A asterixdb/asterix-runtime/src/test/java/org/apache/asterix/runtime/operators/kmeans/KMeansFaultInjectionTest.java
A asterixdb/asterix-runtime/src/test/java/org/apache/asterix/runtime/operators/kmeans/KMeansPhiMergeReduceTest.java
A asterixdb/asterix-runtime/src/test/java/org/apache/asterix/runtime/operators/kmeans/KMeansReclusterOperatorTest.java
A asterixdb/asterix-runtime/src/test/java/org/apache/asterix/runtime/operators/kmeans/KMeansRunFileLifecycleTest.java
A asterixdb/asterix-runtime/src/test/java/org/apache/asterix/runtime/operators/kmeans/KMeansScoreColumnTest.java
A asterixdb/asterix-runtime/src/test/java/org/apache/asterix/runtime/operators/kmeans/KMeansVectorListTest.java
A asterixdb/asterix-runtime/src/test/java/org/apache/asterix/runtime/operators/kmeans/KMeansWindowedAccumulateTest.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/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/KMeansStageOperator.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
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
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/algebra/visitors/LogicalExpressionReferenceTransformVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/rewriter/base/PhysicalOptimizationConfig.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/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetMemoryRequirementsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
232 files changed, 14,615 insertions(+), 11 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/82/21582/2
--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21582?usp=email
To unsubscribe, or for help writing mail filters, visit https://asterix-gerrit.ics.uci.edu/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Change-Id: I3517099be39e73b66843d5c0347b4c1e9ae98bb2
Gerrit-Change-Number: 21582
Gerrit-PatchSet: 2
Gerrit-Owner: Hongyu Shi <le...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-CC: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Attention: Hongyu Shi <le...@gmail.com>