[fix](nereids)subquery unnesting get wrong result if correlated conjuncts is not slot_a = slot_b#37644
Merged
starocean999 merged 5 commits intoapache:masterfrom Jul 17, 2024
Merged
Conversation
|
Thank you for your contribution to Apache Doris. Since 2024-03-18, the Document has been moved to doris-website. |
Contributor
Author
|
run buildall |
TPC-H: Total hot run time: 40164 ms |
TPC-DS: Total hot run time: 174237 ms |
ClickBench: Total hot run time: 30.47 s |
aa0510a to
32d1619
Compare
Contributor
Author
|
run buildall |
TPC-H: Total hot run time: 40233 ms |
TPC-DS: Total hot run time: 172484 ms |
ClickBench: Total hot run time: 30.58 s |
morrySnow
reviewed
Jul 11, 2024
Comment on lines
+106
to
+114
| newAggOutput.addAll(newGroupby.stream().map(expression -> { | ||
| if (expression instanceof Slot) { | ||
| return (NamedExpression) expression; | ||
| } else { | ||
| Alias alias = new Alias(expression); | ||
| unCorrelatedExprToSlot.put(expression, alias.toSlot()); | ||
| return alias; | ||
| } | ||
| }).collect(ImmutableList.toImmutableList())); |
32d1619 to
5502b65
Compare
Contributor
Author
|
run buildall |
TPC-H: Total hot run time: 40013 ms |
TPC-DS: Total hot run time: 174594 ms |
ClickBench: Total hot run time: 30.83 s |
Contributor
Author
|
run External |
Contributor
Author
|
run external |
Contributor
Author
|
run buildall |
5502b65 to
e4e11cf
Compare
Contributor
Author
|
run buildall |
TPC-H: Total hot run time: 40208 ms |
TPC-DS: Total hot run time: 173244 ms |
ClickBench: Total hot run time: 30.56 s |
Contributor
Author
|
run buildall |
TPC-H: Total hot run time: 39864 ms |
TPC-DS: Total hot run time: 173195 ms |
ClickBench: Total hot run time: 30.53 s |
morrySnow
approved these changes
Jul 16, 2024
Contributor
|
PR approved by at least one committer and no changes requested. |
Contributor
|
PR approved by anyone and no changes requested. |
englefly
approved these changes
Jul 17, 2024
dataroaring
pushed a commit
that referenced
this pull request
Jul 17, 2024
…ncts is not slot_a = slot_b (#37644) sql: `select * from t1 where t1.c1 < (select max(t2.c1) from t2 where t1.c2 = abs(t2.c2));` before this pr, we would use the equivalent sql as bellow, which is wrong `select t1.* from t1 semi join ( select t2.c2 as c2, max(t2.c1) as c1 from t2 group by t2.c ) tx on t1.c1 < tx.c1 and t1.c2 = tx.c2;` the pr fix the problem and get the correct one as: `select t1.* from t1 semi join ( select abs(t2.c2) as c2, max(t2.c1) as c1 from t2 group by abs(t2.c) ) tx on t1.c1 < tx.c1 and t1.c2 = tx.c2;`
mongo360
pushed a commit
to mongo360/doris
that referenced
this pull request
Aug 16, 2024
…ncts is not slot_a = slot_b (apache#37644) (apache#37684) pick from master apache#37644
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
sql:
select * from t1 where t1.c1 < (select max(t2.c1) from t2 where t1.c2 = abs(t2.c2));before this pr, we would use the equivalent sql as bellow, which is wrong
select t1.* from t1 semi join ( select t2.c2 as c2, max(t2.c1) as c1 from t2 group by t2.c ) tx on t1.c1 < tx.c1 and t1.c2 = tx.c2;the pr fix the problem and get the correct one as:
select t1.* from t1 semi join ( select abs(t2.c2) as c2, max(t2.c1) as c1 from t2 group by abs(t2.c) ) tx on t1.c1 < tx.c1 and t1.c2 = tx.c2;Proposed changes
Issue Number: close #xxx