anchor.diff:          |
               KW_INDEX! alterIndexStatementSuffix
           |
  -            KW_DATABASE! alterDatabaseStatementSuffix
  +            (KW_DATABASE|KW_SCHEMA)! alterDatabaseStatementSuffix
           )
       ;
   
  
positive.code:     -> ^(TOK_SHOW_TABLESTATUS showStmtIdentifier $db_name? partitionSpec?)
      | KW_SHOW KW_TBLPROPERTIES tblName=identifier (LPAREN prptyName=StringLiteral RPAREN)? -> ^(TOK_SHOW_TBLPROPERTIES $tblName $prptyName?)
      | KW_SHOW KW_LOCKS (parttype=partTypeExpr)? (isExtended=KW_EXTENDED)? -> ^(TOK_SHOWLOCKS $parttype? $isExtended?)
      | KW_SHOW KW_LOCKS KW_DATABASE (dbName=Identifier) (isExtended=KW_EXTENDED)? -> ^(TOK_SHOWDBLOCKS $dbName $isExtended?)
      | KW_SHOW (showOptions=KW_FORMATTED)? (KW_INDEX|KW_INDEXES) KW_ON showStmtIdentifier ((KW_FROM|KW_IN) db_name=identifier)?
      -> ^(TOK_SHOWINDEXES showStmtIdentifier $showOptions? $db_name?)
      | KW_SHOW KW_COMPACTIONS -> ^(TOK_SHOW_COMPACTIONS)
  
negative.code: unlockDatabase
  @init { pushMsg("unlock database statement", state); }
  @after { popMsg(state); }
      : KW_UNLOCK (KW_DATABASE|KW_SCHEMA) (dbName=Identifier) -> ^(TOK_UNLOCKDB $dbName)
      ;
  
  createRoleStatement
  