Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
4.0.0
Description
Recently we dissolved the lexer equivalence between '!' and 'NOT'.
! is a prefix operator and a synonym for NOT only in that case.
But NOT is used in many more cases in the grammar.
Given that there are a handful of known scenearios where users have exploited the undocumented loophole it's best to add a config.
Usage found so far is:
`c1 ! IN(1, 2)`
`c1 ! BETWEEN 1 AND 2`
`c1 ! LIKE 'a%'`
But there are worse cases:
c1 IS ! NULL
CREATE TABLE T(c1 INT ! NULL)
or even
CREATE TABLE IF ! EXISTS T(c1 INT)
Attachments
Issue Links
- links to