-
Notifications
You must be signed in to change notification settings - Fork 141
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
[BUG] match function allows any constant as field name. #613
Comments
Wondering if this is already fixed in latest support for MATCH in SQL engine v2? |
Just tested on one of the latest builds:
|
Thanks for the quick test! The query is rejected now but the syntax error seems unexpected? Or is just the message not accurate? |
The error comes from parser (ANTLR). |
I see. Probably because only identifier is allowed as first argument in v2, it fallback to legacy. This may go away when legacy is deprecated. Thanks |
Can we close this now? |
Yes this was fixed under #1067. |
What is the bug?
The following queries are accepted by the SQL endpoint:
SELECT * FROM index WHERE MATCH(-3.14, "query")
SELECT * FROM index WHERE MATCH(interval 3 second, "query")
PPL endpoint is equally permissive.
What is the expected behavior?
SQL and PPL engines should only accept valid identifiers as field parameter of
MATCH
.If the specified field does not exist, the user should receive the same error as they would if the field was used in
SELECT
clause.This should be consistent across all single-field query functions described in #182.
The text was updated successfully, but these errors were encountered: