Skip to content

Conversation

@shallowShark123
Copy link

…zed as <@ when used jointly with user-defined variables.
In SQL, <@ is a special binary operator. However, in MySQL parsing, if a space is added between < and @, MySQL will report a parsing error when executing. This means that '<@' does not need to be identified separately in MySQL as LT_MONKEYS_AT type.
In addition, when the < operator is mixed with user-defined variables, the token type identified by the current lexical parsing is incorrect.
For example:
select * from aaa where id > @sid
The correct identification method is that @sid is a user-defined variable, and the id field is compared with the variable using the binary operator >.
Current identification method:

@ is identified as the binary operator Array_ContainedBy, which is incorrect.

…zed as <@ when used jointly with user-defined variables.
@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


刘强 seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

1 similar comment
@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


刘强 seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.


AtomicReference<SQLVariantRefExpr> resultExpr1Ref = new AtomicReference<>();
AtomicInteger variableCnt = new AtomicInteger(0);
AtomicInteger arrayContainerByOperatorCnt = new AtomicInteger(0);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

可补充更多边界场景,如带空格、注释、复杂表达式等,提升健壮性。
建议补充负面测试,如非法 SQL、混合操作符等。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants