Skip to content
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

Syntax error in subquery when used in SET #306

Closed
rusakov92 opened this issue Jul 2, 2020 · 2 comments · Fixed by #486
Closed

Syntax error in subquery when used in SET #306

rusakov92 opened this issue Jul 2, 2020 · 2 comments · Fixed by #486
Assignees
Labels
Milestone

Comments

@rusakov92
Copy link

Hello,

I'm using the linter provided in this library and found out that when we use it on this query SET @test := (SELECT 1); it fails when we try to build the object \PhpMyAdmin\SqlParser\Statements\SetStatement from \PhpMyAdmin\SqlParser\Parser with the message "A new statement was found, but no delimiter between it and the previous one.".

The parser fails also when we try to build the \PhpMyAdmin\SqlParser\Statements\SelectStatement because we don't add ; at the end before the ), the error message is "Unexpected token.".

Both of the errors are thrown by \PhpMyAdmin\SqlParser\Statement::parse().

I'm happy to create a PR with a fix for this but I'm not entirely sure how the parsing works, can someone explain it to me and suggest a fix for this?

@williamdes
Copy link
Member

Hello @rusakov92
Thank you for the feedback!
We would be happy to have a pull-request against QA branch
I am afraid not to be able to explain more that the documentation already explains but if you find out on how to fix this we can definitely discuss the fix

@williamdes williamdes added the bug label Aug 21, 2021
@williamdes
Copy link
Member

$ echo 'SET @test := (SELECT 1);' | ./bin/lint-query 
#1: A new statement was found, but no delimiter between it and the previous one. (near "SELECT" at position 14)
#2: Unexpected token. (near ")" at position 22)

@williamdes williamdes added this to the 5.9.0 milestone Jun 22, 2023
@williamdes williamdes self-assigned this Jun 29, 2023
williamdes added a commit that referenced this issue Jun 29, 2023
Pull-request: #486

Signed-off-by: William Desportes <williamdes@wdes.fr>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants