Bug #69208 | A typo in sql_yacc.yy leads to possibility of creation valid nonsense queries | ||
---|---|---|---|
Submitted: | 13 May 2013 5:22 | Modified: | 20 May 2013 7:55 |
Reporter: | Ivan Kurnosov | Email Updates: | |
Status: | Verified | Impact on me: | |
Category: | MySQL Server: Parser | Severity: | S3 (Non-critical) |
Version: | any | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[13 May 2013 5:22]
Ivan Kurnosov
[13 May 2013 6:07]
Valeriy Kravchuk
Even more complex expressions still work: mysql> select (1 between 1 and 2) between (1 between 1 and 5) and (5 between 5 and 10); +--------------------------------------------------------------------------+ | (1 between 1 and 2) between (1 between 1 and 5) and (5 between 5 and 10) | +--------------------------------------------------------------------------+ | 1 | +--------------------------------------------------------------------------+ 1 row in set (0.00 sec) mysql> select (1 between 2 and 3) between (1 between 1 and 5) and (5 between 5 and 10); +--------------------------------------------------------------------------+ | (1 between 2 and 3) between (1 between 1 and 5) and (5 between 5 and 10) | +--------------------------------------------------------------------------+ | 0 | +--------------------------------------------------------------------------+ 1 row in set (0.00 sec) I wonder why do you consider them nonsense and (based on the above) I am not sure suggested change will help in any way.
[13 May 2013 6:57]
Ivan Kurnosov
@Valeriy Kravchuk oh right, didn't notice that. Indeed the proposed change wouldn't change the behaviour but will make a code and a grammar on the documentation page more clear and obvious (at least it won't . PS: now I'm finding it less nonsense, I agree it may be used in some weird and unreadable queries.
[20 May 2013 7:55]
MySQL Verification Team
Thank you for the report.