anchor.diff:      | st12=dropTableStatement          { $stmt = st12; }
   #if 0
       | st13=dropIndexStatement          { $stmt = st13; }
  +#endif
       | st14=alterTableStatement         { $stmt = st14; }
  +#if 0
       | st15=alterKeyspaceStatement      { $stmt = st15; }
       | st16=grantStatement              { $stmt = st16; }
       | st17=revokeStatement             { $stmt = st17; }
  
positive.code:  * ALTER COLUMN FAMILY <CF> WITH <property> = <value>;
   * ALTER COLUMN FAMILY <CF> RENAME <column> TO <column>;
   */
  alterTableStatement returns [AlterTableStatement expr]
      @init {
          AlterTableStatement.Type type = null;
          CFPropDefs props = new CFPropDefs();
          Map<ColumnIdentifier.Raw, ColumnIdentifier.Raw> renames = new HashMap<ColumnIdentifier.Raw, ColumnIdentifier.Raw>();
          boolean isStatic = false;
      }
      : K_ALTER K_COLUMNFAMILY cf=columnFamilyName
            ( K_ALTER id=cident K_TYPE v=comparatorType { type = AlterTableStatement.Type.ALTER; }
            | K_ADD   id=cident v=comparatorType ({ isStatic=true; } K_STATIC)? { type = AlterTableStatement.Type.ADD; }
            | K_DROP  id=cident                         { type = AlterTableStatement.Type.DROP; }
            | K_WITH  properties[props]                 { type = AlterTableStatement.Type.OPTS; }
            | K_RENAME                                  { type = AlterTableStatement.Type.RENAME; }
                 id1=cident K_TO toId1=cident { renames.put(id1, toId1); }
                 ( K_AND idn=cident K_TO toIdn=cident { renames.put(idn, toIdn); } )*
            )
      {
          $expr = new AlterTableStatement(cf, type, id, v, props, renames, isStatic);
      }
      ;
  
  /**
   * ALTER TYPE <name> ALTER <field> TYPE <newtype>;
   * ALTER TYPE <name> ADD <field> <newtype>;
  
negative.code: 
  @parser::includes {
  #include "cql3/selection/writetime_or_ttl.hh"
  #include "cql3/statements/alter_table_statement.hh"
  #include "cql3/statements/create_keyspace_statement.hh"
  #include "cql3/statements/drop_keyspace_statement.hh"
  #include "cql3/statements/create_index_statement.hh"
  