>From Preetham Poluparthi <[email protected]>:
Attention is currently required from: Preetham Poluparthi.
Hello Anon. E. Moose #1000171, Jenkins,
I'd like you to reexamine a change. Please visit
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21196?usp=email
to look at the new patch set (#6).
The following approvals got outdated and were removed:
Contrib-2 by Anon. E. Moose #1000171, Integration-Tests+1 by Jenkins,
Verified-1 by Jenkins
Change subject: [ASTERIXDB-3713][COMP] Improve replicate operator placement for
common subplan extraction
......................................................................
[ASTERIXDB-3713][COMP] Improve replicate operator placement for common subplan
extraction
- user model changes: no
- storage format changes: no
- interface changes: no
Details : Adds logic to insert a replicate operator at the divergence point
when bottom-up growth of equivalence classes can no longer find isomorphic
parents. Equivalence classes are now pruned early when it is impossible to add
a replicate (e.g., trivial empty-tuple-source candidates or union-all sinks).
Also makes DataSourceScanPOperator expensiveThanMaterialization, ensuring
scans are always preferred for replication.
Ext-ref: MB-70862
Change-Id: I686a87ac763c53339f2418b9aa9696fc5cc9e2c5
---
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/ch2/ch2_q22_v2.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/extract-common-operators/extract-common-operators.01.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/introhashpartitionmerge.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/ngram-jaccard-inline.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/word-jaccard-inline.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/issue741.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_02.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_03.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance-check_04.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_02.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_03.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-edit-distance_04.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-fuzzyeq-edit-distance_01.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-fuzzyeq-edit-distance_03.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-fuzzyeq-jaccard_02.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-fuzzyeq-jaccard_03.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-jaccard-check_02.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-jaccard-check_03.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-jaccard-check_04.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-jaccard_02.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-jaccard_03.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-jaccard_04.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_02.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_03.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance-check_04.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_02.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_03.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-edit-distance_04.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-fuzzyeq-edit-distance_02.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-fuzzyeq-edit-distance_03.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-fuzzyeq-jaccard_02.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-fuzzyeq-jaccard_03.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-jaccard-check_02.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-jaccard-check_03.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-jaccard-check_04.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-jaccard_02.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-jaccard_03.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/olist-jaccard_04.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ulist-fuzzyeq-jaccard_02.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ulist-fuzzyeq-jaccard_03.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ulist-jaccard-check_02.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ulist-jaccard-check_03.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ulist-jaccard-check_04.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ulist-jaccard_02.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ulist-jaccard_03.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ulist-jaccard_04.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/word-fuzzyeq-jaccard_02.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/word-fuzzyeq-jaccard_03.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/word-jaccard-check_02.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/word-jaccard-check_03.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/word-jaccard-check_04.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/word-jaccard_02.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/word-jaccard_03.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/word-jaccard_04.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/joins/hash_join_exchange/hash_join_exchange.9.query.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/joins/inner_right_corr.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/limit/ASTERIXDB-3752-LIMIT-in-subquery.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/btree-index-join/ASTERIXDB-2199.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/push-project-through-group.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/query_issue3316.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/remove_listify.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/exists.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/not_exists.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1581-correlated-2.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1581-correlated.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/ch2/ch2_q22_v2.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/extract-common-operators/extract-common-operators.01.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/joins/inner_right_corr.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/nested-index/btree-index-join/ASTERIXDB-2199.plan
M
asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/query_issue3316.plan
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/replicate-operator/grouping-sets/grouping-sets.1.ddl.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/replicate-operator/grouping-sets/grouping-sets.2.update.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/replicate-operator/grouping-sets/grouping-sets.3.query.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/replicate-operator/grouping-sets/grouping-sets.4.query.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/replicate-operator/union-all/union-all.1.ddl.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/replicate-operator/union-all/union-all.2.update.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/replicate-operator/union-all/union-all.3.query.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/replicate-operator/union-all/union-all.4.query.sqlpp
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/same-datasource-diff-scan/same-datasource-diff-scan.007.plan
M
asterixdb/asterix-app/src/test/resources/runtimets/results/correlation/ASTERIXDB-3752-LIMIT-in-subquery/ASTERIXDB-3752-LIMIT-in-subquery.4.plan
A
asterixdb/asterix-app/src/test/resources/runtimets/results/replicate-operator/grouping-sets/grouping-sets.3.adm
A
asterixdb/asterix-app/src/test/resources/runtimets/results/replicate-operator/grouping-sets/grouping-sets.4.plan
A
asterixdb/asterix-app/src/test/resources/runtimets/results/replicate-operator/union-all/union-all.3.adm
A
asterixdb/asterix-app/src/test/resources/runtimets/results/replicate-operator/union-all/union-all.4.plan
M
asterixdb/asterix-app/src/test/resources/runtimets/results/tpch/query-plans/query-plans.04.plan
M
asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/same-datasource-diff-scan/same-datasource-diff-scan.006.plan
M
asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/correlation/ASTERIXDB-3752-LIMIT-in-subquery/ASTERIXDB-3752-LIMIT-in-subquery.4.plan
A
asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/replicate-operator/union-all/union-all.4.plan
M
asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/tpch/query-plans/query-plans.04.plan
A
asterixdb/asterix-app/src/test/resources/runtimets/results_column/replicate-operator/union-all/union-all.4.plan
M
asterixdb/asterix-app/src/test/resources/runtimets/results_column/tpch/query-plans/query-plans.04.plan
M
asterixdb/asterix-app/src/test/resources/runtimets/results_full_parallelism/correlation/ASTERIXDB-3752-LIMIT-in-subquery/ASTERIXDB-3752-LIMIT-in-subquery.4.plan
M
asterixdb/asterix-app/src/test/resources/runtimets/results_less_parallelism/correlation/ASTERIXDB-3752-LIMIT-in-subquery/ASTERIXDB-3752-LIMIT-in-subquery.4.plan
M asterixdb/asterix-app/src/test/resources/runtimets/sqlpp_queries.xml
M
hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/DataSourceScanPOperator.java
M
hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/ExtractCommonOperatorsRule.java
96 files changed, 9,948 insertions(+), 3,428 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb
refs/changes/96/21196/6
--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21196?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: lumina
Gerrit-Change-Id: I686a87ac763c53339f2418b9aa9696fc5cc9e2c5
Gerrit-Change-Number: 21196
Gerrit-PatchSet: 6
Gerrit-Owner: Preetham Poluparthi <[email protected]>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <[email protected]>
Gerrit-Attention: Preetham Poluparthi <[email protected]>