-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Support multiple lists for an IN clause #997
Conversation
| token=<S_CHAR_LITERAL> { rightExpression = new StringValue(token.image); } | ||
| "(" (LOOKAHEAD(3) rightItemsList=SubSelect() | rightItemsList=SimpleExpressionList() ) ")") | ||
( | ||
// syntactic lookahead for a multi expression list, ie: ((a,b),(c,d)) |
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.
I read through the options for lookahead and this seemed pretty nifty: https://javacc.github.io/javacc/tutorials/lookahead.html#syntactic
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.
However, if the potential performance hit from this is a concern, I can try to use a LOOKAHEAD(2, "(" "(")
and see how that works.
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.
Or a vanilla plain LOOKAHEAD(3) multiExpressionList = MultiInExpressions()
also works.
@wumpz thank you 👏 , I can go back through some issues and see which other ones could be closed by this! |
Fixes #737
Fixes #953