Change in asterixdb[master]: [NO ISSUE][COMP] Window operator compiler fixes
Ali Alsuliman has posted comments on this change. Change subject: [NO ISSUE][COMP] Window operator compiler fixes .. Patch Set 1: Code-Review+2 -- To view, visit https://asterix-gerrit.ics.uci.edu/3120 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8e15620220844a07857656256a89c23d243ff2b2 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Dmitry Lychagin Gerrit-Reviewer: Ali Alsuliman Gerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Till Westmann Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][COMP] Window operator compiler fixes
Jenkins has posted comments on this change. Change subject: [NO ISSUE][COMP] Window operator compiler fixes .. Patch Set 1: Contrib+1 BAD Compatibility Tests Successful https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/3904/ : SUCCESS -- To view, visit https://asterix-gerrit.ics.uci.edu/3120 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8e15620220844a07857656256a89c23d243ff2b2 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Dmitry Lychagin Gerrit-Reviewer: Ali Alsuliman Gerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Till Westmann Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][COMP] Window operator compiler fixes
Dmitry Lychagin has submitted this change and it was merged. Change subject: [NO ISSUE][COMP] Window operator compiler fixes .. [NO ISSUE][COMP] Window operator compiler fixes - user model changes: no - storage format changes: no - interface changes: no Details: - Make window operator non-movable - Add optimizer rule to remove empty window operators - Consider window operators in RemoveUnusedAssignAndAggregateRule - Propagate source location to constant expressions Change-Id: I8e15620220844a07857656256a89c23d243ff2b2 Reviewed-on: https://asterix-gerrit.ics.uci.edu/3120 Tested-by: Jenkins Integration-Tests: Jenkins Contrib: Jenkins Reviewed-by: Ali Alsuliman --- M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java A asterixdb/asterix-app/src/test/resources/optimizerts/queries/window/pg_win/pg_win_01.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries/window/win_opt_01/win_opt_01_8.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/results/window/pg_win/pg_win_01.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/window/win_opt_01/win_opt_01_8.plan A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/window/win_opt_01/win_opt_01.8.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/results/window/win_opt_01/win_opt_01.8.adm M asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/rewrites/visitor/AbstractSqlppExpressionExtractionVisitor.java M asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/rewrites/visitor/Sql92AggregateFunctionVisitor.java M asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/rewrites/visitor/SqlppWindowAggregationSugarVisitor.java M asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/rewrites/visitor/SqlppWindowRewriteVisitor.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/util/OperatorPropertiesUtil.java A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveRedundantWindowOperatorsRule.java M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java 15 files changed, 234 insertions(+), 35 deletions(-) Approvals: Anon. E. Moose #1000171: Ali Alsuliman: Looks good to me, approved Jenkins: Verified; ; Verified Objections: Jenkins: Violations found diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java index 80469a7..31be802 100644 --- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java +++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java @@ -94,6 +94,7 @@ import org.apache.hyracks.algebricks.rewriter.rules.ComplexUnnestToProductRule; import org.apache.hyracks.algebricks.rewriter.rules.ConsolidateAssignsRule; import org.apache.hyracks.algebricks.rewriter.rules.ConsolidateSelectsRule; +import org.apache.hyracks.algebricks.rewriter.rules.RemoveRedundantWindowOperatorsRule; import org.apache.hyracks.algebricks.rewriter.rules.ReuseWindowAggregateRule; import org.apache.hyracks.algebricks.rewriter.rules.ConsolidateWindowOperatorsRule; import org.apache.hyracks.algebricks.rewriter.rules.CopyLimitDownRule; @@ -296,6 +297,7 @@ // Window operator consolidation rules consolidation.add(new ConsolidateWindowOperatorsRule()); consolidation.add(new ReuseWindowAggregateRule()); +consolidation.add(new RemoveRedundantWindowOperatorsRule()); consolidation.add(new RemoveRedundantVariablesRule()); return consolidation; } diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java index e3745f7..61c525e 100644 --- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java +++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java @@ -714,8 +714,9 @@ new ScalarFunctionCallExpression(FunctionUtil.getFunctionInfo(BuiltinFunctions.FIELD_ACCESS_BY_NAME)); fldAccess.setSourceLocation(sourceLoc); fldAccess.getArguments().add(new MutableObject<>(p.first)); -ILogicalExpression faExpr = +ConstantExpression faExpr = new ConstantExpression(new
Change in asterixdb[master]: [NO ISSUE][COMP] Window operator compiler fixes
Anon. E. Moose #1000171 has posted comments on this change. Change subject: [NO ISSUE][COMP] Window operator compiler fixes .. Patch Set 1: Contrib+1 Analytics Compatibility Tests Successful https://goo.gl/atPLCB : SUCCESS -- To view, visit https://asterix-gerrit.ics.uci.edu/3120 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8e15620220844a07857656256a89c23d243ff2b2 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Dmitry Lychagin Gerrit-Reviewer: Ali Alsuliman Gerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Till Westmann Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][COMP] Window operator compiler fixes
Jenkins has posted comments on this change. Change subject: [NO ISSUE][COMP] Window operator compiler fixes .. Patch Set 1: Integration-Tests+1 Integration Tests Successful https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/7783/ : SUCCESS -- To view, visit https://asterix-gerrit.ics.uci.edu/3120 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8e15620220844a07857656256a89c23d243ff2b2 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Dmitry Lychagin Gerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][COMP] Window operator compiler fixes
Jenkins has posted comments on this change. Change subject: [NO ISSUE][COMP] Window operator compiler fixes .. Patch Set 1: BAD Compatibility Tests Started https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/3904/ -- To view, visit https://asterix-gerrit.ics.uci.edu/3120 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8e15620220844a07857656256a89c23d243ff2b2 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Dmitry Lychagin Gerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][COMP] Window operator compiler fixes
Jenkins has posted comments on this change. Change subject: [NO ISSUE][COMP] Window operator compiler fixes .. Patch Set 1: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-txnlog/122/ (4/14) -- To view, visit https://asterix-gerrit.ics.uci.edu/3120 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8e15620220844a07857656256a89c23d243ff2b2 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Dmitry Lychagin Gerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][COMP] Window operator compiler fixes
Jenkins has posted comments on this change. Change subject: [NO ISSUE][COMP] Window operator compiler fixes .. Patch Set 1: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-no-installer-app/5296/ (14/14) -- To view, visit https://asterix-gerrit.ics.uci.edu/3120 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8e15620220844a07857656256a89c23d243ff2b2 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Dmitry Lychagin Gerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][COMP] Window operator compiler fixes
Jenkins has posted comments on this change. Change subject: [NO ISSUE][COMP] Window operator compiler fixes .. Patch Set 1: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-ensure-ancestor/2966/ (6/14) -- To view, visit https://asterix-gerrit.ics.uci.edu/3120 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8e15620220844a07857656256a89c23d243ff2b2 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Dmitry Lychagin Gerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][COMP] Window operator compiler fixes
Jenkins has posted comments on this change. Change subject: [NO ISSUE][COMP] Window operator compiler fixes .. Patch Set 1: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-sql-execution/4965/ (13/14) -- To view, visit https://asterix-gerrit.ics.uci.edu/3120 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8e15620220844a07857656256a89c23d243ff2b2 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Dmitry Lychagin Gerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][COMP] Window operator compiler fixes
Jenkins has posted comments on this change. Change subject: [NO ISSUE][COMP] Window operator compiler fixes .. Patch Set 1: WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN: * asterixdb * hyracks-fullstack PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES! -- To view, visit https://asterix-gerrit.ics.uci.edu/3120 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8e15620220844a07857656256a89c23d243ff2b2 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Dmitry Lychagin Gerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][COMP] Window operator compiler fixes
Jenkins has posted comments on this change. Change subject: [NO ISSUE][COMP] Window operator compiler fixes .. Patch Set 1: Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/7783/ -- To view, visit https://asterix-gerrit.ics.uci.edu/3120 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8e15620220844a07857656256a89c23d243ff2b2 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Dmitry Lychagin Gerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][COMP] Window operator compiler fixes
Anon. E. Moose #1000171 has posted comments on this change. Change subject: [NO ISSUE][COMP] Window operator compiler fixes .. Patch Set 1: Analytics Compatibility Compilation Successful https://goo.gl/vpnEk5 : SUCCESS -- To view, visit https://asterix-gerrit.ics.uci.edu/3120 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8e15620220844a07857656256a89c23d243ff2b2 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Dmitry Lychagin Gerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][COMP] Window operator compiler fixes
Jenkins has posted comments on this change. Change subject: [NO ISSUE][COMP] Window operator compiler fixes .. Patch Set 1: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/10438/ (11/14) -- To view, visit https://asterix-gerrit.ics.uci.edu/3120 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8e15620220844a07857656256a89c23d243ff2b2 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Dmitry Lychagin Gerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][COMP] Window operator compiler fixes
Jenkins has posted comments on this change. Change subject: [NO ISSUE][COMP] Window operator compiler fixes .. Patch Set 1: Build Started https://asterix-jenkins.ics.uci.edu/job/hyracks-gerrit/4868/ (1/14) -- To view, visit https://asterix-gerrit.ics.uci.edu/3120 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8e15620220844a07857656256a89c23d243ff2b2 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Dmitry Lychagin Gerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][COMP] Window operator compiler fixes
Jenkins has posted comments on this change. Change subject: [NO ISSUE][COMP] Window operator compiler fixes .. Patch Set 1: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-cancellation-test/4956/ (12/14) -- To view, visit https://asterix-gerrit.ics.uci.edu/3120 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8e15620220844a07857656256a89c23d243ff2b2 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Dmitry Lychagin Gerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][COMP] Window operator compiler fixes
Jenkins has posted comments on this change. Change subject: [NO ISSUE][COMP] Window operator compiler fixes .. Patch Set 1: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-format/4922/ (10/14) -- To view, visit https://asterix-gerrit.ics.uci.edu/3120 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8e15620220844a07857656256a89c23d243ff2b2 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Dmitry Lychagin Gerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][COMP] Window operator compiler fixes
Jenkins has posted comments on this change. Change subject: [NO ISSUE][COMP] Window operator compiler fixes .. Patch Set 1: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage/5526/ (9/14) -- To view, visit https://asterix-gerrit.ics.uci.edu/3120 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8e15620220844a07857656256a89c23d243ff2b2 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Dmitry Lychagin Gerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][COMP] Window operator compiler fixes
Jenkins has posted comments on this change. Change subject: [NO ISSUE][COMP] Window operator compiler fixes .. Patch Set 1: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-sonar/8905/ (3/14) -- To view, visit https://asterix-gerrit.ics.uci.edu/3120 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8e15620220844a07857656256a89c23d243ff2b2 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Dmitry Lychagin Gerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][COMP] Window operator compiler fixes
Jenkins has posted comments on this change. Change subject: [NO ISSUE][COMP] Window operator compiler fixes .. Patch Set 1: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-openjdk11/361/ (5/14) -- To view, visit https://asterix-gerrit.ics.uci.edu/3120 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8e15620220844a07857656256a89c23d243ff2b2 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Dmitry Lychagin Gerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][COMP] Window operator compiler fixes
Jenkins has posted comments on this change. Change subject: [NO ISSUE][COMP] Window operator compiler fixes .. Patch Set 1: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-asterix-app/5340/ (2/14) -- To view, visit https://asterix-gerrit.ics.uci.edu/3120 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8e15620220844a07857656256a89c23d243ff2b2 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Dmitry Lychagin Gerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][COMP] Window operator compiler fixes
Jenkins has posted comments on this change. Change subject: [NO ISSUE][COMP] Window operator compiler fixes .. Patch Set 1: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-stabilization-f69489-compat/366/ (7/14) -- To view, visit https://asterix-gerrit.ics.uci.edu/3120 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8e15620220844a07857656256a89c23d243ff2b2 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Dmitry Lychagin Gerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][COMP] Window operator compiler fixes
Jenkins has posted comments on this change. Change subject: [NO ISSUE][COMP] Window operator compiler fixes .. Patch Set 1: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-assemblies/5179/ (8/14) -- To view, visit https://asterix-gerrit.ics.uci.edu/3120 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8e15620220844a07857656256a89c23d243ff2b2 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Dmitry Lychagin Gerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][COMP] Window operator compiler fixes
Dmitry Lychagin has uploaded a new change for review. https://asterix-gerrit.ics.uci.edu/3120 Change subject: [NO ISSUE][COMP] Window operator compiler fixes .. [NO ISSUE][COMP] Window operator compiler fixes - user model changes: no - storage format changes: no - interface changes: no Details: - Make window operator non-movable - Add optimizer rule to remove empty window operators - Consider window operators in RemoveUnusedAssignAndAggregateRule - Propagate source location to constant expressions Change-Id: I8e15620220844a07857656256a89c23d243ff2b2 --- M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java A asterixdb/asterix-app/src/test/resources/optimizerts/queries/window/pg_win/pg_win_01.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries/window/win_opt_01/win_opt_01_8.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/results/window/pg_win/pg_win_01.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/window/win_opt_01/win_opt_01_8.plan A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/window/win_opt_01/win_opt_01.8.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/results/window/win_opt_01/win_opt_01.8.adm M asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/rewrites/visitor/AbstractSqlppExpressionExtractionVisitor.java M asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/rewrites/visitor/Sql92AggregateFunctionVisitor.java M asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/rewrites/visitor/SqlppWindowAggregationSugarVisitor.java M asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/rewrites/visitor/SqlppWindowRewriteVisitor.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/util/OperatorPropertiesUtil.java A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveRedundantWindowOperatorsRule.java M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java 15 files changed, 234 insertions(+), 35 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/20/3120/1 diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java index 80469a7..31be802 100644 --- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java +++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java @@ -94,6 +94,7 @@ import org.apache.hyracks.algebricks.rewriter.rules.ComplexUnnestToProductRule; import org.apache.hyracks.algebricks.rewriter.rules.ConsolidateAssignsRule; import org.apache.hyracks.algebricks.rewriter.rules.ConsolidateSelectsRule; +import org.apache.hyracks.algebricks.rewriter.rules.RemoveRedundantWindowOperatorsRule; import org.apache.hyracks.algebricks.rewriter.rules.ReuseWindowAggregateRule; import org.apache.hyracks.algebricks.rewriter.rules.ConsolidateWindowOperatorsRule; import org.apache.hyracks.algebricks.rewriter.rules.CopyLimitDownRule; @@ -296,6 +297,7 @@ // Window operator consolidation rules consolidation.add(new ConsolidateWindowOperatorsRule()); consolidation.add(new ReuseWindowAggregateRule()); +consolidation.add(new RemoveRedundantWindowOperatorsRule()); consolidation.add(new RemoveRedundantVariablesRule()); return consolidation; } diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java index e3745f7..61c525e 100644 --- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java +++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java @@ -714,8 +714,9 @@ new ScalarFunctionCallExpression(FunctionUtil.getFunctionInfo(BuiltinFunctions.FIELD_ACCESS_BY_NAME)); fldAccess.setSourceLocation(sourceLoc); fldAccess.getArguments().add(new MutableObject<>(p.first)); -ILogicalExpression faExpr = +ConstantExpression faExpr = new ConstantExpression(new AsterixConstantValue(new AString(fa.getIdent().getValue(; +faExpr.setSourceLocation(sourceLoc); fldAccess.getArguments().add(new MutableObject<>(faExpr)); AssignOperator a =