anchor.diff:  SLASH: '/';
   PERCENT: '%';
   CONCAT: '||';
  -QUESTION_MARK : '?';
  +QUESTION_MARK: '?';
   
   STRING
       : '\'' ( ~'\'' | '\'\'' )* '\''
  
positive.code:     : identifier EQ expression
      ;
  
  queryNoWith:
        queryTerm
        (ORDER BY sortItem (',' sortItem)*)?
        (OFFSET offset=rowCount (ROW | ROWS)?)?
        ((LIMIT limit=limitRowCount) | (FETCH (FIRST | NEXT) (fetchFirst=rowCount)? (ROW | ROWS) (ONLY | WITH TIES)))?
        ;
  
  limitRowCount
      : ALL
  
negative.code:         (privilege (',' privilege)* | ALL PRIVILEGES)
          ON (SCHEMA | TABLE)? qualifiedName
          FROM grantee=principal                                         #revoke
      | SHOW GRANTS (ON TABLE? qualifiedName)?                           #showGrants
      | EXPLAIN ('(' explainOption (',' explainOption)* ')')? statement  #explain
      | EXPLAIN ANALYZE VERBOSE? statement                               #explainAnalyze
      | SHOW CREATE TABLE qualifiedName                                  #showCreateTable
  