-
Notifications
You must be signed in to change notification settings - Fork 6k
expression: simple expression IsTruthWithNull/IsTruthWithoutNull with CAST #61076
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
base: master
Are you sure you want to change the base?
Conversation
Signed-off-by: Weizhen Wang <[email protected]>
Signed-off-by: Weizhen Wang <[email protected]>
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Signed-off-by: Weizhen Wang <[email protected]>
Signed-off-by: Weizhen Wang <[email protected]>
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #61076 +/- ##
================================================
+ Coverage 73.1498% 73.4729% +0.3230%
================================================
Files 1724 1724
Lines 477078 478816 +1738
================================================
+ Hits 348982 351800 +2818
+ Misses 106697 105602 -1095
- Partials 21399 21414 +15
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
Dear Developers, Kindly inquire that if this bug is also related to this root case? #60127 |
Signed-off-by: Weizhen Wang <[email protected]>
Signed-off-by: Weizhen Wang <[email protected]>
I take a look at this problem. it is not the same as the root cause. |
return FoldConstant(ctx, sf), nil | ||
} | ||
|
||
func simpleExpression(arg Expression) Expression { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The convert is too aggressive, istrue(cast(xxx as xxx)) is not always equal to istrue(xxx)
For example:
mysql> select istrue_with_null('0.1');
+-------------------------+
| istrue_with_null('0.1') |
+-------------------------+
| 1 |
+-------------------------+
1 row in set (0.01 sec)
mysql> select istrue_with_null(cast('0.1' as signed));
+-----------------------------------------+
| istrue_with_null(cast('0.1' as signed)) |
+-----------------------------------------+
| 0 |
+-----------------------------------------+
1 row in set, 1 warning (0.00 sec)
/hold |
What problem does this PR solve?
Issue Number: close #61062
close #51359
Problem Summary:
What changed and how does it work?
IsTruthWithNull/IsTruthWithoutNull with
cast(cast(xxx))
(IsTruthWithNull(cast(cast(xxx)))
) can be transfer intoIsTruthWithNull/IsTruthWithoutNull(xxx)
.Check List
Tests
Side effects
Documentation
Release note
Please refer to Release Notes Language Style Guide to write a quality release note.