Fix improper expression aliasing during pushdown#13758
Merged
martint merged 1 commit intotrinodb:masterfrom Aug 22, 2022
Merged
Fix improper expression aliasing during pushdown#13758martint merged 1 commit intotrinodb:masterfrom
martint merged 1 commit intotrinodb:masterfrom
Conversation
07da400 to
d5b2318
Compare
EqualityInference was considering an expression of the form
cast(null AS ...) as an inference candidate, even though it
doens't satisfy the condition of not returning nulls on null
input.
As a result, unrelated expressions were being incorrectly equated
to each other. In particular, for the example in the test,
CAST(null AS varchar) was being considered equivalent to VARCHAR 'hello'
and then substituted in the expression:
CAST(CAST(null AS varchar) AS bigint)
to produce the (invalid) expression:
CAST(VARCHAR 'hello' AS bigint)
d5b2318 to
cca5373
Compare
findepi
approved these changes
Aug 22, 2022
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.
EqualityInference was considering an expression of the form
cast(null AS ...)as an inference candidate, even though itdoens't satisfy the condition of not returning nulls on null
input.
As a result, unrelated expressions were being incorrectly equated
to each other. In particular, for the example in the test,
CAST(null AS varchar)was being considered equivalent toVARCHAR 'hello'and then substituted in the expression:
to produce the (invalid) expression:
Fixes #13565
Documentation
(x) No documentation is needed.
Release notes
(x) Release notes entries required with the following suggested text: