anchor.diff:      ;
   
   constraintClauses
  -    : addConstraintClause
  -    | modifyConstraintClause
  -    | renameConstraintClause
  -    | dropConstraintClause+
  +    : addConstraintClause | modifyConstraintClause | renameConstraintClause | dropConstraintClause+
       ;
   
   addConstraintClause
  
positive.code:     ;
  
  modifyColSubstitutable
      : COLUMN columnName
      NOT? SUBSTITUTABLE AT ALL LEVELS FORCE?
      ;
  
  dropColumnClause
      : SET UNUSED columnOrColumnList cascadeOrInvalidate*
      | dropColumn
      ;
  
  dropColumn
  
negative.code:     ;
  
  columnOrColumnList
      : COLUMN columnName | LP_ columnName ( COMMA columnName )* RP_
      ;
  
  cascadeOrInvalidate
      : CASCADE CONSTRAINTS | INVALIDATE
      ;
  
  checkpointNumber
  