Report error when SessionState::sql_to_expr_with_alias
does not consume all input
#16811
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.
Which issue does this PR close?
SessionState::sql_to_expr
does not report unconsumed input #16810.Rationale for this change
When parsing SQL strings into expressions it's preferable to get parse errors when unprocessed input is present rather than silently ignoring this.
What changes are included in this PR?
DFParser::parse_into_expr
which expects to consume the entire input SQL string and reports an error if it did notSessionState::sql_to_expr_with_alias
to use this new function.Are these changes tested?
Yes, extra test cases have been added to
DFParser
Are there any user-facing changes?
This change makes the preconditions for
SessionState::sql_to_expr
andSessionState::sql_to_expr_with_alias
stricter which may cause errors to be reported in code that currently completes successfully.