-
Notifications
You must be signed in to change notification settings - Fork 3.7k
[Fix](nereids) fix ScalarType.getAssignmentCompatibleType() when deal boolean and decimal #34636
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) fix ScalarType.getAssignmentCompatibleType() when deal boolean and decimal #34636
Conversation
|
Thank you for your contribution to Apache Doris. Since 2024-03-18, the Document has been moved to doris-website. |
|
run buildall |
TPC-H: Total hot run time: 49636 ms |
TPC-DS: Total hot run time: 203336 ms |
ClickBench: Total hot run time: 30.53 s |
|
Load test result on machine: 'aliyun_ecs.c7a.8xlarge_32C64G' |
|
run buildall |
TPC-H: Total hot run time: 49294 ms |
TPC-DS: Total hot run time: 203508 ms |
ClickBench: Total hot run time: 30.61 s |
|
Load test result on machine: 'aliyun_ecs.c7a.8xlarge_32C64G' |
|
PR approved by at least one committer and no changes requested. |
|
PR approved by anyone and no changes requested. |
… boolean and decimal (apache#34636) cherry-pick to branch-2.0 from apache#34435 The legacy planner encounters issues when handling filters such as: c1(boolean type)=0.0(decimalv3). The literal 0.0 is interpreted as decimalv3(1,1), and the boolean type c1 is coerced to decimalv3(1,1). decimalv3(1,1) can only retain values in the range [0,1), while the boolean true is represented as 1, exceeding the upper bound, thus causing an overflow problem. This pull request addresses this issue by considering the boolean type as decimalv3(1,0), making both c1 and 0.0 being cast to decimal(2,1).
cherry-pick to branch-2.0 from #34435