anchor.diff:  
   relationalProperty
       : columnDefinition | virtualColumnDefinition | outOfLineConstraint | outOfLineRefConstraint
  -    ;
  -
  -tableProperties
  -    : columnProperties? (AS unionSelect)?
  -    ;
  -
  -unionSelect
  -    : matchNone
  -    ;
  -
  -alterTableProperties
  -    : renameTableSpecification_ | REKEY encryptionSpec
  -    ;
  -
  -renameTableSpecification_
  -    : RENAME TO newTableName
  -    ;
  -
  -newTableName
  -    : IDENTIFIER_
  -    ;
  -
  -columnClauses
  -    : opColumnClause+ | renameColumnSpecification
  -    ;
  -
  -opColumnClause
  -    : addColumnSpecification | modifyColumnSpecification | dropColumnClause
  -    ;
  -
  -addColumnSpecification
  -    : ADD columnOrVirtualDefinitions columnProperties?
  -    ;
  -
  -columnOrVirtualDefinitions
  -    : LP_ columnOrVirtualDefinition (COMMA_ columnOrVirtualDefinition)* RP_ | columnOrVirtualDefinition
  -    ;
  -
  -columnOrVirtualDefinition
  -    : columnDefinition | virtualColumnDefinition
  -    ;
  -
  -modifyColumnSpecification
  -    : MODIFY (LP_? modifyColProperties (COMMA_ modifyColProperties)* RP_? | modifyColSubstitutable)
  -    ;
  -
  -modifyColProperties
  -    : columnName dataType? (DEFAULT expr)? (ENCRYPT encryptionSpec | DECRYPT)? inlineConstraint* 
  -    ;
  -
  -modifyColSubstitutable
  -    : COLUMN columnName NOT? SUBSTITUTABLE AT ALL LEVELS FORCE?
  -    ;
  -
  -dropColumnClause
  -    : SET UNUSED columnOrColumnList cascadeOrInvalidate* | dropColumnSpecification
  -    ;
  -
  -dropColumnSpecification
  -    : DROP columnOrColumnList cascadeOrInvalidate* checkpointNumber?
  -    ;
  -
  -columnOrColumnList
  -    : COLUMN columnName | LP_ columnName (COMMA_ columnName)* RP_
  -    ;
  -
  -cascadeOrInvalidate
  -    : CASCADE CONSTRAINTS | INVALIDATE
  -    ;
  -
  -checkpointNumber
  -    : CHECKPOINT NUMBER_
  -    ;
  -
  -renameColumnSpecification
  -    : RENAME COLUMN columnName TO columnName
  -    ;
  -
  -constraintClauses
  -    : addConstraintSpecification | modifyConstraintClause | renameConstraintClause | dropConstraintClause+
  -    ;
  -
  -addConstraintSpecification
  -    : ADD (outOfLineConstraint+ | outOfLineRefConstraint)
  -    ;
  -
  -modifyConstraintClause
  -    : MODIFY constraintOption constraintState+ CASCADE?
  -    ;
  -
  -constraintWithName
  -    : CONSTRAINT ignoredIdentifier_
  -    ;
  -
  -constraintOption
  -    : constraintWithName | constraintPrimaryOrUnique
  -    ;
  -
  -constraintPrimaryOrUnique
  -    : primaryKey | UNIQUE columnNames
  -    ;
  -
  -renameConstraintClause
  -    : RENAME constraintWithName TO ignoredIdentifier_
  -    ;
  -
  -dropConstraintClause
  -    : DROP
  -    (
  -    constraintPrimaryOrUnique CASCADE? ((KEEP | DROP) INDEX)? | (CONSTRAINT ignoredIdentifier_ CASCADE?)
  -    ) 
  -    ;
  -
  -alterExternalTable
  -    : (addColumnSpecification | modifyColumnSpecification | dropColumnSpecification)+
       ;
   
   columnDefinition
  
positive.code: import Symbol, Keyword, Literals, BaseRule;
  
  createTable
      : CREATE temporaryClause_ TABLE tableName relationalTable
      ;
  
  createIndex
  
negative.code:     : indexTypeName
      ;
  
  createDefinitionClause_
      : (LP_ relationalProperties RP_)? (ON COMMIT (DELETE | PRESERVE) ROWS)?
      ;
  
  