anchor.diff:  
   partitionOptions:
   	PARTITION BY (linearPartition | rangeOrListPartition)
  -    (PARTITIONS INT)?
  -    (SUBPARTITION BY linearPartition (SUBPARTITIONS INT)? )?
  +    (PARTITIONS NUMBER)?
  +    (SUBPARTITION BY linearPartition (SUBPARTITIONS NUMBER)? )?
     	partitionDefinitions?
      	;
  -        
  +
  +//hash(YEAR(col)) YEAR is keyword which does not match expr
   linearPartition:
  - 	LINEAR? (HASH exprWithParen |keyColumnList)
  + 	LINEAR? ((HASH (yearFunctionExpr | exprWithParen)) |keyColumnList)
    	;
    
  + yearFunctionExpr:
  + 	LEFT_PAREN YEAR exprWithParen RIGHT_PAREN
  + 	;
  + 	
   keyColumnList:
  -	KEY (ALGORITHM EQ_OR_ASSIGN INT)? columnList
  +	KEY (ALGORITHM EQ_OR_ASSIGN NUMBER)? columnList
   	;
   	
   exprWithParen:
  
positive.code: 	
  keyParts:
  	LEFT_PAREN keyPart (COMMA keyPart)* RIGHT_PAREN
  	;	
  charsetName:
  	;
  	
  defaultValue:
  	;
  		
  keyPart:
  
negative.code: 	| DISCARD PARTITION (partitionNames | ALL) TABLESPACE
  	| IMPORT_ PARTITION (partitionNames | ALL) TABLESPACE
  	| TRUNCATE PARTITION (partitionNames | ALL)
  	| COALESCE PARTITION NUMBER
  	| REORGANIZE PARTITION partitionNames INTO partitionDefinitions
  	| EXCHANGE PARTITION partitionName WITH TABLE tableName ((WITH|WITHOUT) VALIDATION)?
  	| ANALYZE PARTITION (partitionNames | ALL)
  