-
Notifications
You must be signed in to change notification settings - Fork 5.9k
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
expression: Fix optimizer panic in evaluate expr with null #57403
expression: Fix optimizer panic in evaluate expr with null #57403
Conversation
Hi @windtalker. Thanks for your PR. PRs from untrusted users cannot be marked as trusted with I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #57403 +/- ##
================================================
+ Coverage 72.8367% 73.4283% +0.5915%
================================================
Files 1672 1672
Lines 462640 462699 +59
================================================
+ Hits 336972 339752 +2780
+ Misses 104878 102254 -2624
+ Partials 20790 20693 -97
Flags with carried forward coverage won't be shown. Click here to find out more.
|
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.
Looks good overall. My comments is about adding the test to
the original pkg/planner/core/casetest/rule/testdata/outer2inner_in.json test and testing the expression evaluation in the non-optimizer path.
@@ -3952,3 +3952,15 @@ func TestIssue55885(t *testing.T) { | |||
|
|||
tk.MustQuery("SELECT subq_0.c3 as c1 FROM (select c_a90ol as c3, c_a90ol as c4, var_pop(cast(c__qy as double)) over (partition by c_a90ol, c_s order by c_z) as c5 from t_jg8o limit 65) as subq_0 LIMIT 37") | |||
} | |||
|
|||
func TestIssue55886(t *testing.T) { |
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.
Can you add this test to pkg/planner/core/casetest/rule/testdata/outer2inner_in.json with explain?
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.
Done
Signed-off-by: xufei <[email protected]>
Signed-off-by: xufei <[email protected]>
Signed-off-by: xufei <[email protected]>
Signed-off-by: xufei <[email protected]>
Signed-off-by: xufei <[email protected]>
bc81ef1
to
f764b5c
Compare
|
Signed-off-by: xufei <[email protected]>
[LGTM Timeline notifier]Timeline:
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: AilinKid, ghazalfamilyusa, XuHuaiyu The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
In response to a cherrypick label: new pull request created to branch |
What problem does this PR solve?
Issue Number: close #55886
Problem Summary:
What changed and how does it work?
evaluateExprWithNull
andevaluateExprWithNullInNullRejectCheck
useNewFunction
instead ofNewFunctionInternal
to create a scalar functionEvaluateExprWithNull
return error if some error happens insideEvaluateExprWithNull
EvaluateExprWithNull
need to decide how to handle this error, currently, all the callers ofEvaluateExprWithNull
are optimizer, and will ignore the errorCheck List
Tests
Side effects
Documentation
Release note
Please refer to Release Notes Language Style Guide to write a quality release note.