Serge Rielau created SPARK-47907:
------------------------------------

             Summary: Put removal of '!' as a synonym for 'NOT' on a keyword 
level under a config
                 Key: SPARK-47907
                 URL: https://issues.apache.org/jira/browse/SPARK-47907
             Project: Spark
          Issue Type: Bug
          Components: Spark Core
    Affects Versions: 4.0.0
            Reporter: Serge Rielau


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)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org

Reply via email to