anchor.diff:                                                   shared_ptr<cql3::operation::raw_update>>>& operations,
                              shared_ptr<cql3::column_identifier::raw> key,
                              shared_ptr<cql3::term::raw> k]
  -                           
  +
       : '=' t=term
         {
             add_raw_update(operations, key, make_shared<cql3::operation::set_element>(k, t));
  
positive.code:  * WHERE KEY = keyname
     [IF (EXISTS | name = value, ...)];
   */
  deleteStatement returns [DeleteStatement.Parsed expr]
      @init {
          Attributes.Raw attrs = new Attributes.Raw();
          List<Operation.RawDeletion> columnDeletions = Collections.emptyList();
          boolean ifExists = false;
      }
      : K_DELETE ( dels=deleteSelection { columnDeletions = dels; } )?
        K_FROM cf=columnFamilyName
        ( usingClauseDelete[attrs] )?
        K_WHERE wclause=whereClause
        ( K_IF ( K_EXISTS { ifExists = true; } | conditions=updateConditions ))?
        {
            return new DeleteStatement.Parsed(cf,
                                              attrs,
                                              columnDeletions,
                                              wclause,
                                              conditions == null ? Collections.<Pair<ColumnIdentifier.Raw, ColumnCondition.Raw>>emptyList() : conditions,
                                              ifExists);
        }
      ;
  
  deleteSelection returns [List<Operation.RawDeletion> operations]
      : { $operations = new ArrayList<Operation.RawDeletion>(); }
            t1=deleteOp { $operations.add(t1); }
            (',' tN=deleteOp { $operations.add(tN); })*
      ;
  
  deleteOp returns [Operation.RawDeletion op]
      : c=cident                { $op = new Operation.ColumnDeletion(c); }
      | c=cident '[' t=term ']' { $op = new Operation.ElementDeletion(c, t); }
      ;
  
  usingClauseDelete[Attributes.Raw attrs]
      : K_USING K_TIMESTAMP ts=intValue { attrs.timestamp = ts; }
      ;
  
  /**
   * BEGIN BATCH
   *   UPDATE <CF> SET name1 = value1 WHERE KEY = keyname1;
  
negative.code: #include "cql3/statements/property_definitions.hh"
  #include "cql3/statements/select_statement.hh"
  #include "cql3/statements/update_statement.hh"
  #include "cql3/statements/delete_statement.hh"
  #include "cql3/statements/use_statement.hh"
  #include "cql3/statements/ks_prop_defs.hh"
  #include "cql3/selection/raw_selector.hh"
  