-
Notifications
You must be signed in to change notification settings - Fork 7.1k
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 'APPLY lambda' parsing #32138
Fix 'APPLY lambda' parsing #32138
Conversation
Do we need to backport this bugfix? |
It reproduces only on 21.10 and 21.11, on 21.9 and lower versions there is no such bug, so I think we should backport it. |
@Mergifyio update |
✅ Branch has been successfully updated |
We don't expect exceptions in parser, better to return false (syntax error). |
I'm not sure that we should treat such cases as syntax error. You can look at the queries in the test, everything is ok in terms of syntax, instead we can see just the wrong use of function/wrong arguments/wrong type |
Ok. But AST fuzzer is assuming that parser does not throw exceptions. |
I checked our code in Parsers folder, there are several places where we can find throwing exceptions (not
What do you suggest? Skipping all exceptions sounds bad. Now we skip exceptions with two error codes: |
Simply change the code to SYNTAX_ERROR and merge this PR 🚀 |
@Mergifyio update |
✅ Branch has been successfully updated |
9b64aa5
to
51bb377
Compare
Backport #32138 to 21.11: Fix 'APPLY lambda' parsing
Backport #32138 to 21.12: Fix 'APPLY lambda' parsing
Backport #32138 to 21.10: Fix 'APPLY lambda' parsing
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
Fix 'APPLY lambda' parsing which could lead to client/server crash.
Detailed description / Documentation draft:
...