-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[fix](Nereids) should not replace slot by Alias when do NormalizeSlot #24928
Conversation
run buildall |
8b4f896
to
deb3886
Compare
run buildall |
(From new machine)TeamCity pipeline, clickbench performance test result: |
c2c450d
to
6054a65
Compare
run buildall |
(From new machine)TeamCity pipeline, clickbench performance test result: |
PR approved by at least one committer and no changes requested. |
PR approved by anyone and no changes requested. |
c1c8eeb
6054a65
to
c1c8eeb
Compare
run buildall |
(From new machine)TeamCity pipeline, clickbench performance test result: |
when we do NormalizeToSlot, we pushed complex expression and only remain slot of it. When we do this, we collect alias and their child and compute its child in bottom project, remain the result slot in current node. for example Window(max(...), c1 as a1) after normalization, we get Window(max(...), a1) +-- Project(..., c1 as a1) But, in some cases, we remove some SlotReference by mistake, for example Window(max(...), c1, c1 as a1) after normalization, we get Window(max(...), a1) +-- Project(..., c1 as a1) we lost the SlotReference c1. This PR fix this problem. After this Pr, we get Window(max(...), c1, a1) +-- Project(..., c1, c1 as a1)
c1c8eeb
to
e046645
Compare
run buildall |
(From new machine)TeamCity pipeline, clickbench performance test result: |
PR approved by at least one committer and no changes requested. |
…#24928) when we do NormalizeToSlot, we pushed complex expression and only remain slot of it. When we do this, we collect alias and their child and compute its child in bottom project, remain the result slot in current node. for example Window(max(...), c1 as a1) after normalization, we get Window(max(...), a1) +-- Project(..., c1 as a1) But, in some cases, we remove some SlotReference by mistake, for example Window(max(...), c1, c1 as a1) after normalization, we get Window(max(...), a1) +-- Project(..., c1 as a1) we lost the SlotReference c1. This PR fix this problem. After this Pr, we get Window(max(...), c1, a1) +-- Project(..., c1, c1 as a1)
…apache#24928) when we do NormalizeToSlot, we pushed complex expression and only remain slot of it. When we do this, we collect alias and their child and compute its child in bottom project, remain the result slot in current node. for example Window(max(...), c1 as a1) after normalization, we get Window(max(...), a1) +-- Project(..., c1 as a1) But, in some cases, we remove some SlotReference by mistake, for example Window(max(...), c1, c1 as a1) after normalization, we get Window(max(...), a1) +-- Project(..., c1 as a1) we lost the SlotReference c1. This PR fix this problem. After this Pr, we get Window(max(...), c1, a1) +-- Project(..., c1, c1 as a1)
when we do NormalizeToSlot, we pushed complex expression and only remain slot of it. When we do this, we collect alias and their child and compute its child in bottom project, remain the result slot in current node. for example
Window(max(...), c1 as a1)
after normalization, we get
Window(max(...), a1)
+-- Project(..., c1 as a1)
But, in some cases, we remove some SlotReference by mistake, for example
Window(max(...), c1, c1 as a1)
after normalization, we get
Window(max(...), a1)
+-- Project(..., c1 as a1)
we lost the SlotReference c1. This PR fix this problem. After this Pr, we get
Window(max(...), c1, a1)
+-- Project(..., c1, c1 as a1)
Proposed changes
Issue Number: close #xxx
Further comments
If this is a relatively large or complex change, kick off the discussion at dev@doris.apache.org by explaining why you chose the solution you did and what alternatives you considered, etc...