Skip to content

[opt](mtmv) Support any_value aggregate function rollup rewrite when exsits aggregate materialized view - #44412

Merged
morrySnow merged 3 commits into
apache:masterfrom
seawinde:support_any_value_function_roll_up
Nov 25, 2024
Merged

[opt](mtmv) Support any_value aggregate function rollup rewrite when exsits aggregate materialized view#44412
morrySnow merged 3 commits into
apache:masterfrom
seawinde:support_any_value_function_roll_up

Conversation

@seawinde

Copy link
Copy Markdown
Member

What problem does this PR solve?

Support any_value rewrite when aggregate materialized view
Such as mv def sql is as following

select
o_orderdate,
any_value(l_partkey),
o_orderstatus,
l_suppkey,
any_value(l_suppkey),
any_value(o_orderstatus)
from lineitem_2
left join orders_2 on l_orderkey = o_orderkey and l_shipdate = o_orderdate
where l_partkey =3group by
o_orderstatus,
o_orderdate,
l_partkey,
l_suppkey;

the query like following can be rewritten scuucessfully by mv above

select
any_value(l_partkey),
any_value(l_suppkey),
any_value(o_orderstatus)
from lineitem_2
left join orders_2
on l_orderkey = o_orderkey and l_shipdate = o_orderdate
where l_partkey =3and o_orderstatus ='o'group by
o_orderdate,
l_suppkey;

Issue Number: close #xxx

Related PR: #xxx

Problem Summary:

Release note

Support any_value aggregate function rollup rewrite when exsits aggregate materialized view

Check List (For Author)

  • Test

    • Regression test
    • Unit Test
    • Manual test (add detailed scripts or steps below)
    • No need to test or manual test. Explain why:
      • This is a refactor/code format and no logic has been changed.
      • Previous test can cover this change.
      • No code files have been changed.
      • Other reason
  • Behavior changed:

    • No.
    • Yes.
  • Does this need documentation?

    • No.
    • Yes.

Check List (For Reviewer who merge this PR)

  • Confirm the release note
  • Confirm test cases
  • Confirm document
  • Add branch pick label

@doris-robot

Copy link
Copy Markdown

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR.

Please clearly describe your PR:

  1. What problem was fixed (it's best to include specific error reporting information). How it was fixed.
  2. Which behaviors were modified. What was the previous behavior, what is it now, why was it modified, and what possible impacts might there be.
  3. What features were added. Why was this function added?
  4. Which code was refactored and why was this part of the code refactored?
  5. Which functions were optimized and what is the difference before and after the optimization?

@seawinde

Copy link
Copy Markdown
MemberAuthor

run buildall

@github-actionsgithub-actionsBot added the approved Indicates a PR has been approved by one committer. label Nov 22, 2024
@github-actions

Copy link
Copy Markdown
Contributor

PR approved by at least one committer and no changes requested.

@github-actions

Copy link
Copy Markdown
Contributor

PR approved by anyone and no changes requested.

@morrySnow
morrySnow merged commit b978788 into apache:masterNov 25, 2024
github-actionsBot pushed a commit that referenced this pull request Nov 25, 2024
…exsits aggregate materialized view (#44412)
### What problem does this PR solve?
Support any_value rewrite when aggregate materialized view
Such as mv def sql is as following
select
o_orderdate,
any_value(l_partkey),
o_orderstatus,
l_suppkey,
any_value(l_suppkey),
any_value(o_orderstatus)
from lineitem_2
left join orders_2 on l_orderkey = o_orderkey and l_shipdate = o_orderdate
where l_partkey = 3
group by
o_orderstatus,
o_orderdate,
l_partkey,
l_suppkey;
the query like following can be rewritten scuucessfully by mv above
select
any_value(l_partkey),
any_value(l_suppkey),
any_value(o_orderstatus)
from lineitem_2
left join orders_2
on l_orderkey = o_orderkey and l_shipdate = o_orderdate
where l_partkey = 3 and o_orderstatus = 'o'
group by
o_orderdate,
l_suppkey;
### Release note
Support any_value aggregate function rollup rewrite when exsits
aggregate materialized view
morrySnow pushed a commit that referenced this pull request Nov 27, 2024
…ewrite when exsits aggregate materialized view #44412 (#44566)
Cherry-picked from #44412
Co-authored-by: seawinde <wusi@selectdb.com>
@gavinchougavinchou mentioned this pull request Feb 18, 2025
HappenLee pushed a commit to HappenLee/incubator-doris that referenced this pull request Apr 24, 2026
…exsits aggregate materialized view (apache#44412)
### What problem does this PR solve?
Support any_value rewrite when aggregate materialized view
Such as mv def sql is as following
select
o_orderdate,
any_value(l_partkey),
o_orderstatus,
l_suppkey,
any_value(l_suppkey),
any_value(o_orderstatus)
from lineitem_2
left join orders_2 on l_orderkey = o_orderkey and l_shipdate = o_orderdate
where l_partkey = 3
group by
o_orderstatus,
o_orderdate,
l_partkey,
l_suppkey;
the query like following can be rewritten scuucessfully by mv above
select
any_value(l_partkey),
any_value(l_suppkey),
any_value(o_orderstatus)
from lineitem_2
left join orders_2
on l_orderkey = o_orderkey and l_shipdate = o_orderdate
where l_partkey = 3 and o_orderstatus = 'o'
group by
o_orderdate,
l_suppkey;
### Release note
Support any_value aggregate function rollup rewrite when exsits
aggregate materialized view
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approvedIndicates a PR has been approved by one committer.dev/3.0.4-mergedreviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@seawinde@doris-robot@morrySnow@xzj7019