-
Notifications
You must be signed in to change notification settings - Fork 3.7k
[opt](nereids) opt for adjustting slot nullable and add exception for changing slot nullable #52748
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
Conversation
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
|
run buildall |
cf234b6 to
d608b08
Compare
|
run buildall |
TPC-H: Total hot run time: 33956 ms |
TPC-DS: Total hot run time: 185302 ms |
ClickBench: Total hot run time: 29.33 s |
FE UT Coverage ReportIncrement line coverage |
|
run buildall |
TPC-H: Total hot run time: 33859 ms |
TPC-DS: Total hot run time: 184853 ms |
ClickBench: Total hot run time: 29.77 s |
a39b516 to
d063dea
Compare
|
run buildall |
TPC-H: Total hot run time: 33529 ms |
|
run buildall |
TPC-H: Total hot run time: 33409 ms |
TPC-DS: Total hot run time: 186207 ms |
ClickBench: Total hot run time: 29.94 s |
FE UT Coverage ReportIncrement line coverage |
|
run buildall |
1 similar comment
|
run buildall |
TPC-H: Total hot run time: 33276 ms |
TPC-DS: Total hot run time: 185912 ms |
ClickBench: Total hot run time: 29.18 s |
|
run buildall |
1 similar comment
|
run buildall |
TPC-H: Total hot run time: 33008 ms |
TPC-DS: Total hot run time: 184780 ms |
|
run buildall |
a7a1463 to
0eed73a
Compare
|
run buildall |
FE UT Coverage ReportIncrement line coverage |
|
run performance |
TPC-H: Total hot run time: 33938 ms |
TPC-DS: Total hot run time: 186286 ms |
|
run external |
ClickBench: Total hot run time: 32.13 s |
|
PR approved by at least one committer and no changes requested. |
### What problem does this PR solve? for sql select avg(distinct a), sum(distinct b) from t group by c if "a" is not nullable, then "avg" is not nullable, AvgDistinctToSumDivCount will rewrite "avg" to "sum(distinct a) / count(distinct a)", but the divide "/" is nullable, then AdjustNullable will throw exception for this changed nullable (introduced by #52748): "AdjustNullable convert slot avg(..)#10 from not-nullable to nullable. You can disable check by set fe_debug = false." need add a nonNullable function to make the rewritten expression not-nullable.
### What problem does this PR solve? for sql select avg(distinct a), sum(distinct b) from t group by c if "a" is not nullable, then "avg" is not nullable, AvgDistinctToSumDivCount will rewrite "avg" to "sum(distinct a) / count(distinct a)", but the divide "/" is nullable, then AdjustNullable will throw exception for this changed nullable (introduced by #52748): "AdjustNullable convert slot avg(..)#10 from not-nullable to nullable. You can disable check by set fe_debug = false." need add a nonNullable function to make the rewritten expression not-nullable.
### What problem does this PR solve? for sql select avg(distinct a), sum(distinct b) from t group by c if "a" is not nullable, then "avg" is not nullable, AvgDistinctToSumDivCount will rewrite "avg" to "sum(distinct a) / count(distinct a)", but the divide "/" is nullable, then AdjustNullable will throw exception for this changed nullable (introduced by #52748): "AdjustNullable convert slot avg(..)#10 from not-nullable to nullable. You can disable check by set fe_debug = false." need add a nonNullable function to make the rewritten expression not-nullable.
…#53787) ### What problem does this PR solve? for sql select avg(distinct a), sum(distinct b) from t group by c if "a" is not nullable, then "avg" is not nullable, AvgDistinctToSumDivCount will rewrite "avg" to "sum(distinct a) / count(distinct a)", but the divide "/" is nullable, then AdjustNullable will throw exception for this changed nullable (introduced by apache#52748): "AdjustNullable convert slot avg(..)apache#10 from not-nullable to nullable. You can disable check by set fe_debug = false." need add a nonNullable function to make the rewritten expression not-nullable.
…#53787) ### What problem does this PR solve? for sql select avg(distinct a), sum(distinct b) from t group by c if "a" is not nullable, then "avg" is not nullable, AvgDistinctToSumDivCount will rewrite "avg" to "sum(distinct a) / count(distinct a)", but the divide "/" is nullable, then AdjustNullable will throw exception for this changed nullable (introduced by apache#52748): "AdjustNullable convert slot avg(..)apache#10 from not-nullable to nullable. You can disable check by set fe_debug = false." need add a nonNullable function to make the rewritten expression not-nullable.
…#53787) ### What problem does this PR solve? for sql select avg(distinct a), sum(distinct b) from t group by c if "a" is not nullable, then "avg" is not nullable, AvgDistinctToSumDivCount will rewrite "avg" to "sum(distinct a) / count(distinct a)", but the divide "/" is nullable, then AdjustNullable will throw exception for this changed nullable (introduced by apache#52748): "AdjustNullable convert slot avg(..)apache#10 from not-nullable to nullable. You can disable check by set fe_debug = false." need add a nonNullable function to make the rewritten expression not-nullable.
What problem does this PR solve?
this PR optimize adjusting slot nullables, includes:
Check List (For Author)
Test
Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)