Ali Alsuliman has uploaded this change for review. ( https://asterix-gerrit.ics.uci.edu/3434
Change subject: [ASTERIXDB-2458][COMP] Fix min/max functions with group by ...................................................................... [ASTERIXDB-2458][COMP] Fix min/max functions with group by - user model changes: no - storage format changes: no - interface changes: no Details: In a sort-group-by operator, an aggregate function has a merging aggregate function that will be used when merging the run files if they were generated. The merging aggregate function of the local min/max aggregate function should be different from the merging aggregate function of the global min/max. For local min/max, the merging aggregate function should propagate system_null if the aggregation is system_null. Also, the global min/max should handle finishPartial() different from finish(). finishPartial() should not output NULL if the aggregation is system_null since the aggregation is still going on. - added functions to be intermediate steps for local aggregation. - implemented logic for finishPartial() Change-Id: Ie0551b091b9adbbbd51158dbd36124a7184bdce0 --- M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/min_max_arrays/min_max_arrays.01.ddl.sqlpp M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/min_max_arrays/min_max_arrays.02.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/min_max_arrays/min_max_arrays.31.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/min_max_arrays/min_max_arrays.32.query.sqlpp R asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/min_max_arrays/min_max_arrays.33.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/min_max_arrays/min_max_arrays.31.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/min_max_arrays/min_max_arrays.32.adm M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractMinMaxAggregateFunction.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/IntermediateMaxAggregateDescriptor.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/IntermediateMinAggregateDescriptor.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/IntermediateSqlMaxAggregateDescriptor.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/IntermediateSqlMinAggregateDescriptor.java M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/MinMaxAggregateFunction.java M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/SqlMinMaxAggregateFunction.java M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionCollection.java M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java 17 files changed, 12,878 insertions(+), 21 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/34/3434/1 -- To view, visit https://asterix-gerrit.ics.uci.edu/3434 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ie0551b091b9adbbbd51158dbd36124a7184bdce0 Gerrit-Change-Number: 3434 Gerrit-PatchSet: 1 Gerrit-Owner: Ali Alsuliman <[email protected]>
