anchor.diff:  	;
   	
   createTableBasic:
  -	
  +	LEFT_PAREN createDefinitions RIGHT_PAREN
  +	tableOptions?
  +	partitionOptions?
  +	;
  +	
  +createDefinitions:
  +	createDefinition (COMMA createDefinition)*
   	;
   	
   createDefinition:
  -	columnNameAndDefinition
  -  	(constraintDefinition|indexDefinition)
  -  	;	
  +	(columnNameAndDefinition)
  +  	|(constraintDefinition|indexDefinition| checkExpr)
  +  	;
  + 
  + checkExpr:
  + 	CHECK exprWithParen
  +	;
   	
   createTableSelect:
  +	LEFT_PAREN createDefinitions RIGHT_PAREN?
  +	tableOptions?
  +	partitionOptions??
  +	(IGNORE | REPLACE)?
  +    AS?
   	;
   	
   createTableLike:
  +	(likeTable) 
  +	| LEFT_PAREN likeTable RIGHT_PAREN
   	;	
   
  +likeTable:
  +	LIKE tableName
  +	;
  +	
   alterSpecifications:
   	alterSpecification (COMMA alterSpecification)*
   	;
   
   alterSpecification:
  -  	tableOptions
  +  	(tableOptions)
     	| ADD COLUMN? (singleColumn | multiColumn)
   	| ADD indexDefinition
   	| ADD constraintDefinition
   	| ALGORITHM EQ_OR_ASSIGN? (DEFAULT|INPLACE|COPY)
   	| ALTER COLUMN? columnName (SET DEFAULT | DROP DEFAULT)
   	| CHANGE COLUMN? columnName columnName columnDefinition (FIRST|AFTER columnName)?
  -	| DEFAULT? CHARACTER SET EQ_OR_ASSIGN? charsetName (COLLATE EQ_OR_ASSIGN? collationName)?
  -	| CONVERT TO CHARACTER SET charsetName (COLLATE collationName)?
  +	| DEFAULT? characterAndCollateWithEqual
  +	| CONVERT TO characterAndCollate
   	| (DISABLE|ENABLE) KEYS
   	| (DISCARD|IMPORT_) TABLESPACE
   	| DROP COLUMN? columnName
  
positive.code: 
  engineName:
  	ID
  	;
  
  partitionNames:
  
negative.code: 	;
  	
  tableOptions:
      tableOption (COMMA? tableOption)*
      ; 
  
  tableOption:
   	AUTO_INCREMENT EQ_OR_ASSIGN? NUMBER
  	|AVG_ROW_LENGTH EQ_OR_ASSIGN? NUMBER
  	| DEFAULT? characterSetWithEqual
  	| CHECKSUM EQ_OR_ASSIGN? NUMBER
  	| DEFAULT? collateClauseWithEqual
  	| COMMENT EQ_OR_ASSIGN? STRING
  	| COMPRESSION EQ_OR_ASSIGN? (ZLIB|'LZ4'|NONE)
  	| CONNECTION EQ_OR_ASSIGN? STRING
  	| (DATA|INDEX) DIRECTORY EQ_OR_ASSIGN? STRING
  	| DELAY_KEY_WRITE EQ_OR_ASSIGN? NUMBER
  	| ENCRYPTION EQ_OR_ASSIGN? STRING
  	| ENGINE EQ_OR_ASSIGN? engineName
  	| INSERT_METHOD EQ_OR_ASSIGN? ( NO | FIRST | LAST )
  	| KEY_BLOCK_SIZE EQ_OR_ASSIGN? NUMBER
  	| MAX_ROWS EQ_OR_ASSIGN? NUMBER
  	| MIN_ROWS EQ_OR_ASSIGN? NUMBER
  	| PACK_KEYS EQ_OR_ASSIGN? (NUMBER | DEFAULT)
  	| PASSWORD EQ_OR_ASSIGN? STRING
  	| ROW_FORMAT EQ_OR_ASSIGN? (DEFAULT|DYNAMIC|FIXED|COMPRESSED|REDUNDANT|COMPACT)
  	| STATS_AUTO_RECALC EQ_OR_ASSIGN? (DEFAULT|NUMBER)
  	| STATS_PERSISTENT EQ_OR_ASSIGN? (DEFAULT|NUMBER)
  	| STATS_SAMPLE_PAGES EQ_OR_ASSIGN? NUMBER
  	| TABLESPACE tablespaceName (STORAGE (DISK|MEMORY|DEFAULT))?
  	| UNION EQ_OR_ASSIGN? idList
  	; 
  
  columnNameAndDefinition:
  