anchor.diff:     ;
   
   altertablestmt
  -   : ALTER TABLE relation_expr alter_table_cmds
  -   | ALTER TABLE IF_P EXISTS relation_expr alter_table_cmds
  -   | ALTER TABLE relation_expr partition_cmd
  -   | ALTER TABLE IF_P EXISTS relation_expr partition_cmd
  -   | ALTER TABLE ALL IN_P TABLESPACE name SET TABLESPACE name opt_nowait
  -   | ALTER TABLE ALL IN_P TABLESPACE name OWNED BY role_list SET TABLESPACE name opt_nowait
  -   | ALTER INDEX qualified_name alter_table_cmds
  -   | ALTER INDEX IF_P EXISTS qualified_name alter_table_cmds
  -   | ALTER INDEX qualified_name index_partition_cmd
  -   | ALTER INDEX ALL IN_P TABLESPACE name SET TABLESPACE name opt_nowait
  -   | ALTER INDEX ALL IN_P TABLESPACE name OWNED BY role_list SET TABLESPACE name opt_nowait
  -   | ALTER SEQUENCE qualified_name alter_table_cmds
  -   | ALTER SEQUENCE IF_P EXISTS qualified_name alter_table_cmds
  -   | ALTER VIEW qualified_name alter_table_cmds
  -   | ALTER VIEW IF_P EXISTS qualified_name alter_table_cmds
  -   | ALTER MATERIALIZED VIEW qualified_name alter_table_cmds
  -   | ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name alter_table_cmds
  -   | ALTER MATERIALIZED VIEW ALL IN_P TABLESPACE name SET TABLESPACE name opt_nowait
  -   | ALTER MATERIALIZED VIEW ALL IN_P TABLESPACE name OWNED BY role_list SET TABLESPACE name opt_nowait
  -   | ALTER FOREIGN TABLE relation_expr alter_table_cmds
  -   | ALTER FOREIGN TABLE IF_P EXISTS relation_expr alter_table_cmds
  +   : ALTER TABLE (IF_P EXISTS)? relation_expr (alter_table_cmds | partition_cmd)
  +   | ALTER TABLE ALL IN_P TABLESPACE name (OWNED BY role_list)? SET TABLESPACE name opt_nowait
  +   | ALTER INDEX (IF_P EXISTS)? qualified_name (alter_table_cmds | index_partition_cmd)
  +   | ALTER INDEX ALL IN_P TABLESPACE name (OWNED BY role_list)? SET TABLESPACE name opt_nowait
  +   | ALTER SEQUENCE (IF_P EXISTS)? qualified_name alter_table_cmds
  +   | ALTER VIEW (IF_P EXISTS)? qualified_name alter_table_cmds
  +   | ALTER MATERIALIZED VIEW (IF_P EXISTS)? qualified_name alter_table_cmds
  +   | ALTER MATERIALIZED VIEW ALL IN_P TABLESPACE name (OWNED BY role_list)? SET TABLESPACE name opt_nowait
  +   | ALTER FOREIGN TABLE (IF_P EXISTS)? relation_expr alter_table_cmds
      ;
   
   alter_table_cmds
  -   : alter_table_cmd
  -   | alter_table_cmds COMMA alter_table_cmd
  +   : alter_table_cmd (COMMA alter_table_cmd)*
      ;
   
   partition_cmd
  
positive.code:    ;
  
  alter_type_cmds
     : alter_type_cmd
     | alter_type_cmds COMMA alter_type_cmd
     ;
  
  alter_type_cmd
  
negative.code:    ;
  
  any_name_list
     : any_name (COMMA any_name)*
     ;
  
  any_name
     : colid attrs?
     ;
  
  attrs
  