This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a change to branch auto-pick-55194-branch-4.0
in repository https://gitbox.apache.org/repos/asf/doris.git
from 74e1a1e5b6b branch-4.0: [fix](nereids) Fix aggregate source repeat
output is different from child repeat #57840 (#58088)
add 62ab8ffd954 [opt](mtmv) Support limit or topN rewrite when
materialized view contains limit or topN (#55194)
No new revisions were added by this update.
Summary of changes:
.../doris/nereids/jobs/executor/Rewriter.java | 1 +
.../jobs/joinorder/hypergraph/HyperGraph.java | 6 +-
.../org/apache/doris/nereids/rules/RuleSet.java | 12 +
.../org/apache/doris/nereids/rules/RuleType.java | 19 +
.../mv/AbstractMaterializedViewAggregateRule.java | 3 +-
.../mv/AbstractMaterializedViewJoinRule.java | 4 +-
.../AbstractMaterializedViewLimitOrTopNRule.java | 75 +++
.../mv/AbstractMaterializedViewRule.java | 179 ++++--
.../mv/AbstractMaterializedViewScanRule.java | 4 +-
.../mv/MaterializedViewLimitAggregateRule.java | 91 +++
.../mv/MaterializedViewLimitJoinRule.java | 93 +++
.../mv/MaterializedViewLimitScanRule.java | 88 +++
...java => MaterializedViewTopNAggregateRule.java} | 67 +-
...Rule.java => MaterializedViewTopNJoinRule.java} | 70 ++-
.../mv/MaterializedViewTopNScanRule.java | 90 +++
.../mv/PreMaterializedViewRewriter.java | 2 -
.../nereids/rules/exploration/mv/StructInfo.java | 140 ++++-
.../jobs/joinorder/hypergraph/HyperGraphTest.java | 25 +-
.../apache/doris/nereids/mv/StructInfoTest.java | 125 ++++
.../data/nereids_rules_p0/mv/topN/topN_rewrite.out | 107 ++++
.../nereids_rules_p0/mv/limit/limit_rewrite.groovy | 663 ++++++++++++++++++++
.../mv/pre_rewrite/limit/query_with_limit.groovy | 242 ++++----
.../nereids_rules_p0/mv/topN/topN_rewrite.groovy | 690 +++++++++++++++++++++
.../nereids_rules_p0/mv/tpch/mv_tpch_test.groovy | 8 +-
24 files changed, 2555 insertions(+), 249 deletions(-)
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/AbstractMaterializedViewLimitOrTopNRule.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializedViewLimitAggregateRule.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializedViewLimitJoinRule.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializedViewLimitScanRule.java
copy
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/{MaterializedViewWindowJoinRule.java
=> MaterializedViewTopNAggregateRule.java} (56%)
copy
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/{MaterializedViewWindowJoinRule.java
=> MaterializedViewTopNJoinRule.java} (57%)
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializedViewTopNScanRule.java
create mode 100644
regression-test/data/nereids_rules_p0/mv/topN/topN_rewrite.out
create mode 100644
regression-test/suites/nereids_rules_p0/mv/limit/limit_rewrite.groovy
create mode 100644
regression-test/suites/nereids_rules_p0/mv/topN/topN_rewrite.groovy
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]