You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2009/08/26 17:11:28 UTC

svn commit: r808045 - in /incubator/cassandra/trunk: ./ interface/ interface/gen-java/org/apache/cassandra/service/ src/java/org/apache/cassandra/db/ src/java/org/apache/cassandra/service/ test/system/

Author: jbellis
Date: Wed Aug 26 15:11:27 2009
New Revision: 808045

URL: http://svn.apache.org/viewvc?rev=808045&view=rev
Log:
combine batch_insert and batch_insert_super the way we did get_slice and get_slice_super
patch by jbellis.  reviewed by Chris Goffinet and Evan Weaver for CASSANDRA-388

Removed:
    incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/BatchMutationSuper.java
Modified:
    incubator/cassandra/trunk/CHANGES.txt
    incubator/cassandra/trunk/interface/cassandra.thrift
    incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/BatchMutation.java
    incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Cassandra.java
    incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/SlicePredicate.java
    incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/SuperColumn.java
    incubator/cassandra/trunk/src/java/org/apache/cassandra/db/RowMutation.java
    incubator/cassandra/trunk/src/java/org/apache/cassandra/service/CassandraServer.java
    incubator/cassandra/trunk/test/system/test_server.py

Modified: incubator/cassandra/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/CHANGES.txt?rev=808045&r1=808044&r2=808045&view=diff
==============================================================================
--- incubator/cassandra/trunk/CHANGES.txt (original)
+++ incubator/cassandra/trunk/CHANGES.txt Wed Aug 26 15:11:27 2009
@@ -17,11 +17,13 @@
       structs such as ColumnPath, ColumnParent, etc.  Also normalized
       thrift struct and argument naming.
     - Added columnFamily argument to get_key_range.
-    - Change signature of get_slice and get_slice_super to accept
-      starting and ending columns as well as an offset.  (This allows use
-      of indexes.)  Added "ascending" flag to allow reasonably-efficient
-      reverse scans as well.  Removed get_slice_by_range as redundant.
-    - Similarly, changed signature of get_slice_super.
+    - Change signature of get_slice to accept starting and ending
+      columns as well as an offset.  (This allows use of indexes.)
+      Added "ascending" flag to allow reasonably-efficient reverse
+      scans as well.  Removed get_slice_by_range as redundant.
+    - Merged _super get methods with the normal ones; return values
+      are now of ColumnOrSuperColumn.
+    - Similarly, merged batch_insert_super into batch_insert.
     - get_key_range operates on one CF at a time
     - changed `block` boolean on insert methods to ConsistencyLevel enum,
       with options of NONE, ONE, QUORUM, and ALL.

Modified: incubator/cassandra/trunk/interface/cassandra.thrift
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/interface/cassandra.thrift?rev=808045&r1=808044&r2=808045&view=diff
==============================================================================
--- incubator/cassandra/trunk/interface/cassandra.thrift (original)
+++ incubator/cassandra/trunk/interface/cassandra.thrift Wed Aug 26 15:11:27 2009
@@ -32,7 +32,7 @@
 namespace rb CassandraThrift
 
 #
-# structures
+# data structures
 #
 
 struct Column {
@@ -41,28 +41,17 @@
    3: i64                           timestamp,
 }
 
-typedef map<string, list<Column>>   column_family_map
-
-struct BatchMutation {
-   1: string                        key,
-   2: column_family_map             cfmap,
-}
-
 struct SuperColumn {
    1: binary                        name,
    2: list<Column>                  columns,
 }
 
-typedef map<string, list<SuperColumn>> SuperColumnFamilyMap
-
-struct BatchMutationSuper {
-   1: string                        key,
-   2: SuperColumnFamilyMap          cfmap,
+struct ColumnOrSuperColumn {
+    1: optional Column column,
+    2: optional SuperColumn super_column,
 }
 
 
-typedef list<map<string, string>>   ResultSet
-
 #
 # Exceptions
 #
@@ -117,9 +106,11 @@
     2: optional SliceRange   slice_range,
 }
 
-struct ColumnOrSuperColumn {
-    1: optional Column column,
-    2: optional SuperColumn super_column,
+typedef map<string, list<ColumnOrSuperColumn>> column_family_map
+
+struct BatchMutation {
+   1: string                        key,
+   2: column_family_map             cfmap,
 }
 
 
@@ -142,9 +133,6 @@
   void           remove(1:string keyspace, 2:string key, 3:ColumnPath column_path, 4:i64 timestamp, 5:ConsistencyLevel consistency_level=0)
   throws (1: InvalidRequestException ire, 2: UnavailableException ue),
 
-  void     batch_insert_super_column(1:string keyspace, 2:BatchMutationSuper batch_mutation_super, 3:ConsistencyLevel consistency_level=0)
-  throws (1: InvalidRequestException ire, 2: UnavailableException ue),
-
   # range query: returns matching keys
   list<string>   get_key_range(1:string keyspace, 2:string column_family, 3:string start="", 4:string finish="", 5:i32 count=100)
   throws (1: InvalidRequestException ire),

Modified: incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/BatchMutation.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/BatchMutation.java?rev=808045&r1=808044&r2=808045&view=diff
==============================================================================
--- incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/BatchMutation.java (original)
+++ incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/BatchMutation.java Wed Aug 26 15:11:27 2009
@@ -46,7 +46,7 @@
 
   public String key;
   public static final int KEY = 1;
-  public Map<String,List<Column>> cfmap;
+  public Map<String,List<ColumnOrSuperColumn>> cfmap;
   public static final int CFMAP = 2;
 
   private final Isset __isset = new Isset();
@@ -69,7 +69,7 @@
 
   public BatchMutation(
     String key,
-    Map<String,List<Column>> cfmap)
+    Map<String,List<ColumnOrSuperColumn>> cfmap)
   {
     this();
     this.key = key;
@@ -117,11 +117,11 @@
     }
   }
 
-  public Map<String,List<Column>> getCfmap() {
+  public Map<String,List<ColumnOrSuperColumn>> getCfmap() {
     return this.cfmap;
   }
 
-  public BatchMutation setCfmap(Map<String,List<Column>> cfmap) {
+  public BatchMutation setCfmap(Map<String,List<ColumnOrSuperColumn>> cfmap) {
     this.cfmap = cfmap;
     return this;
   }
@@ -155,7 +155,7 @@
       if (value == null) {
         unsetCfmap();
       } else {
-        setCfmap((Map<String,List<Column>>)value);
+        setCfmap((Map<String,List<ColumnOrSuperColumn>>)value);
       }
       break;
 
@@ -249,26 +249,26 @@
         case CFMAP:
           if (field.type == TType.MAP) {
             {
-              TMap _map0 = iprot.readMapBegin();
-              this.cfmap = new HashMap<String,List<Column>>(2*_map0.size);
-              for (int _i1 = 0; _i1 < _map0.size; ++_i1)
+              TMap _map8 = iprot.readMapBegin();
+              this.cfmap = new HashMap<String,List<ColumnOrSuperColumn>>(2*_map8.size);
+              for (int _i9 = 0; _i9 < _map8.size; ++_i9)
               {
-                String _key2;
-                List<Column> _val3;
-                _key2 = iprot.readString();
+                String _key10;
+                List<ColumnOrSuperColumn> _val11;
+                _key10 = iprot.readString();
                 {
-                  TList _list4 = iprot.readListBegin();
-                  _val3 = new ArrayList<Column>(_list4.size);
-                  for (int _i5 = 0; _i5 < _list4.size; ++_i5)
+                  TList _list12 = iprot.readListBegin();
+                  _val11 = new ArrayList<ColumnOrSuperColumn>(_list12.size);
+                  for (int _i13 = 0; _i13 < _list12.size; ++_i13)
                   {
-                    Column _elem6;
-                    _elem6 = new Column();
-                    _elem6.read(iprot);
-                    _val3.add(_elem6);
+                    ColumnOrSuperColumn _elem14;
+                    _elem14 = new ColumnOrSuperColumn();
+                    _elem14.read(iprot);
+                    _val11.add(_elem14);
                   }
                   iprot.readListEnd();
                 }
-                this.cfmap.put(_key2, _val3);
+                this.cfmap.put(_key10, _val11);
               }
               iprot.readMapEnd();
             }
@@ -302,12 +302,12 @@
       oprot.writeFieldBegin(CFMAP_FIELD_DESC);
       {
         oprot.writeMapBegin(new TMap(TType.STRING, TType.LIST, this.cfmap.size()));
-        for (Map.Entry<String, List<Column>> _iter7 : this.cfmap.entrySet())        {
-          oprot.writeString(_iter7.getKey());
+        for (Map.Entry<String, List<ColumnOrSuperColumn>> _iter15 : this.cfmap.entrySet())        {
+          oprot.writeString(_iter15.getKey());
           {
-            oprot.writeListBegin(new TList(TType.STRUCT, _iter7.getValue().size()));
-            for (Column _iter8 : _iter7.getValue())            {
-              _iter8.write(oprot);
+            oprot.writeListBegin(new TList(TType.STRUCT, _iter15.getValue().size()));
+            for (ColumnOrSuperColumn _iter16 : _iter15.getValue())            {
+              _iter16.write(oprot);
             }
             oprot.writeListEnd();
           }

Modified: incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Cassandra.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Cassandra.java?rev=808045&r1=808044&r2=808045&view=diff
==============================================================================
--- incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Cassandra.java (original)
+++ incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Cassandra.java Wed Aug 26 15:11:27 2009
@@ -55,8 +55,6 @@
 
     public void remove(String keyspace, String key, ColumnPath column_path, long timestamp, int consistency_level) throws InvalidRequestException, UnavailableException, TException;
 
-    public void batch_insert_super_column(String keyspace, BatchMutationSuper batch_mutation_super, int consistency_level) throws InvalidRequestException, UnavailableException, TException;
-
     public List<String> get_key_range(String keyspace, String column_family, String start, String finish, int count) throws InvalidRequestException, TException;
 
     public String get_string_property(String property) throws TException;
@@ -337,44 +335,6 @@
       return;
     }
 
-    public void batch_insert_super_column(String keyspace, BatchMutationSuper batch_mutation_super, int consistency_level) throws InvalidRequestException, UnavailableException, TException
-    {
-      send_batch_insert_super_column(keyspace, batch_mutation_super, consistency_level);
-      recv_batch_insert_super_column();
-    }
-
-    public void send_batch_insert_super_column(String keyspace, BatchMutationSuper batch_mutation_super, int consistency_level) throws TException
-    {
-      oprot_.writeMessageBegin(new TMessage("batch_insert_super_column", TMessageType.CALL, seqid_));
-      batch_insert_super_column_args args = new batch_insert_super_column_args();
-      args.keyspace = keyspace;
-      args.batch_mutation_super = batch_mutation_super;
-      args.consistency_level = consistency_level;
-      args.write(oprot_);
-      oprot_.writeMessageEnd();
-      oprot_.getTransport().flush();
-    }
-
-    public void recv_batch_insert_super_column() throws InvalidRequestException, UnavailableException, TException
-    {
-      TMessage msg = iprot_.readMessageBegin();
-      if (msg.type == TMessageType.EXCEPTION) {
-        TApplicationException x = TApplicationException.read(iprot_);
-        iprot_.readMessageEnd();
-        throw x;
-      }
-      batch_insert_super_column_result result = new batch_insert_super_column_result();
-      result.read(iprot_);
-      iprot_.readMessageEnd();
-      if (result.ire != null) {
-        throw result.ire;
-      }
-      if (result.ue != null) {
-        throw result.ue;
-      }
-      return;
-    }
-
     public List<String> get_key_range(String keyspace, String column_family, String start, String finish, int count) throws InvalidRequestException, TException
     {
       send_get_key_range(keyspace, column_family, start, finish, count);
@@ -529,7 +489,6 @@
       processMap_.put("insert", new insert());
       processMap_.put("batch_insert", new batch_insert());
       processMap_.put("remove", new remove());
-      processMap_.put("batch_insert_super_column", new batch_insert_super_column());
       processMap_.put("get_key_range", new get_key_range());
       processMap_.put("get_string_property", new get_string_property());
       processMap_.put("get_string_list_property", new get_string_list_property());
@@ -740,36 +699,6 @@
 
     }
 
-    private class batch_insert_super_column implements ProcessFunction {
-      public void process(int seqid, TProtocol iprot, TProtocol oprot) throws TException
-      {
-        batch_insert_super_column_args args = new batch_insert_super_column_args();
-        args.read(iprot);
-        iprot.readMessageEnd();
-        batch_insert_super_column_result result = new batch_insert_super_column_result();
-        try {
-          iface_.batch_insert_super_column(args.keyspace, args.batch_mutation_super, args.consistency_level);
-        } catch (InvalidRequestException ire) {
-          result.ire = ire;
-        } catch (UnavailableException ue) {
-          result.ue = ue;
-        } catch (Throwable th) {
-          LOGGER.error("Internal error processing batch_insert_super_column", th);
-          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing batch_insert_super_column");
-          oprot.writeMessageBegin(new TMessage("batch_insert_super_column", TMessageType.EXCEPTION, seqid));
-          x.write(oprot);
-          oprot.writeMessageEnd();
-          oprot.getTransport().flush();
-          return;
-        }
-        oprot.writeMessageBegin(new TMessage("batch_insert_super_column", TMessageType.REPLY, seqid));
-        result.write(oprot);
-        oprot.writeMessageEnd();
-        oprot.getTransport().flush();
-      }
-
-    }
-
     private class get_key_range implements ProcessFunction {
       public void process(int seqid, TProtocol iprot, TProtocol oprot) throws TException
       {
@@ -1650,14 +1579,14 @@
           case SUCCESS:
             if (field.type == TType.LIST) {
               {
-                TList _list26 = iprot.readListBegin();
-                this.success = new ArrayList<ColumnOrSuperColumn>(_list26.size);
-                for (int _i27 = 0; _i27 < _list26.size; ++_i27)
+                TList _list17 = iprot.readListBegin();
+                this.success = new ArrayList<ColumnOrSuperColumn>(_list17.size);
+                for (int _i18 = 0; _i18 < _list17.size; ++_i18)
                 {
-                  ColumnOrSuperColumn _elem28;
-                  _elem28 = new ColumnOrSuperColumn();
-                  _elem28.read(iprot);
-                  this.success.add(_elem28);
+                  ColumnOrSuperColumn _elem19;
+                  _elem19 = new ColumnOrSuperColumn();
+                  _elem19.read(iprot);
+                  this.success.add(_elem19);
                 }
                 iprot.readListEnd();
               }
@@ -1701,8 +1630,8 @@
         oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
         {
           oprot.writeListBegin(new TList(TType.STRUCT, this.success.size()));
-          for (ColumnOrSuperColumn _iter29 : this.success)          {
-            _iter29.write(oprot);
+          for (ColumnOrSuperColumn _iter20 : this.success)          {
+            _iter20.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -5604,655 +5533,6 @@
 
   }
 
-  public static class batch_insert_super_column_args implements TBase, java.io.Serializable, Cloneable   {
-    private static final TStruct STRUCT_DESC = new TStruct("batch_insert_super_column_args");
-    private static final TField KEYSPACE_FIELD_DESC = new TField("keyspace", TType.STRING, (short)1);
-    private static final TField BATCH_MUTATION_SUPER_FIELD_DESC = new TField("batch_mutation_super", TType.STRUCT, (short)2);
-    private static final TField CONSISTENCY_LEVEL_FIELD_DESC = new TField("consistency_level", TType.I32, (short)3);
-
-    public String keyspace;
-    public static final int KEYSPACE = 1;
-    public BatchMutationSuper batch_mutation_super;
-    public static final int BATCH_MUTATION_SUPER = 2;
-    /**
-     * 
-     * @see ConsistencyLevel
-     */
-    public int consistency_level;
-    public static final int CONSISTENCY_LEVEL = 3;
-
-    private final Isset __isset = new Isset();
-    private static final class Isset implements java.io.Serializable {
-      public boolean consistency_level = false;
-    }
-
-    public static final Map<Integer, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new HashMap<Integer, FieldMetaData>() {{
-      put(KEYSPACE, new FieldMetaData("keyspace", TFieldRequirementType.DEFAULT, 
-          new FieldValueMetaData(TType.STRING)));
-      put(BATCH_MUTATION_SUPER, new FieldMetaData("batch_mutation_super", TFieldRequirementType.DEFAULT, 
-          new StructMetaData(TType.STRUCT, BatchMutationSuper.class)));
-      put(CONSISTENCY_LEVEL, new FieldMetaData("consistency_level", TFieldRequirementType.DEFAULT, 
-          new FieldValueMetaData(TType.I32)));
-    }});
-
-    static {
-      FieldMetaData.addStructMetaDataMap(batch_insert_super_column_args.class, metaDataMap);
-    }
-
-    public batch_insert_super_column_args() {
-      this.consistency_level = 0;
-
-    }
-
-    public batch_insert_super_column_args(
-      String keyspace,
-      BatchMutationSuper batch_mutation_super,
-      int consistency_level)
-    {
-      this();
-      this.keyspace = keyspace;
-      this.batch_mutation_super = batch_mutation_super;
-      this.consistency_level = consistency_level;
-      this.__isset.consistency_level = true;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public batch_insert_super_column_args(batch_insert_super_column_args other) {
-      if (other.isSetKeyspace()) {
-        this.keyspace = other.keyspace;
-      }
-      if (other.isSetBatch_mutation_super()) {
-        this.batch_mutation_super = new BatchMutationSuper(other.batch_mutation_super);
-      }
-      __isset.consistency_level = other.__isset.consistency_level;
-      this.consistency_level = other.consistency_level;
-    }
-
-    @Override
-    public batch_insert_super_column_args clone() {
-      return new batch_insert_super_column_args(this);
-    }
-
-    public String getKeyspace() {
-      return this.keyspace;
-    }
-
-    public batch_insert_super_column_args setKeyspace(String keyspace) {
-      this.keyspace = keyspace;
-      return this;
-    }
-
-    public void unsetKeyspace() {
-      this.keyspace = null;
-    }
-
-    // Returns true if field keyspace is set (has been asigned a value) and false otherwise
-    public boolean isSetKeyspace() {
-      return this.keyspace != null;
-    }
-
-    public void setKeyspaceIsSet(boolean value) {
-      if (!value) {
-        this.keyspace = null;
-      }
-    }
-
-    public BatchMutationSuper getBatch_mutation_super() {
-      return this.batch_mutation_super;
-    }
-
-    public batch_insert_super_column_args setBatch_mutation_super(BatchMutationSuper batch_mutation_super) {
-      this.batch_mutation_super = batch_mutation_super;
-      return this;
-    }
-
-    public void unsetBatch_mutation_super() {
-      this.batch_mutation_super = null;
-    }
-
-    // Returns true if field batch_mutation_super is set (has been asigned a value) and false otherwise
-    public boolean isSetBatch_mutation_super() {
-      return this.batch_mutation_super != null;
-    }
-
-    public void setBatch_mutation_superIsSet(boolean value) {
-      if (!value) {
-        this.batch_mutation_super = null;
-      }
-    }
-
-    /**
-     * 
-     * @see ConsistencyLevel
-     */
-    public int getConsistency_level() {
-      return this.consistency_level;
-    }
-
-    /**
-     * 
-     * @see ConsistencyLevel
-     */
-    public batch_insert_super_column_args setConsistency_level(int consistency_level) {
-      this.consistency_level = consistency_level;
-      this.__isset.consistency_level = true;
-      return this;
-    }
-
-    public void unsetConsistency_level() {
-      this.__isset.consistency_level = false;
-    }
-
-    // Returns true if field consistency_level is set (has been asigned a value) and false otherwise
-    public boolean isSetConsistency_level() {
-      return this.__isset.consistency_level;
-    }
-
-    public void setConsistency_levelIsSet(boolean value) {
-      this.__isset.consistency_level = value;
-    }
-
-    public void setFieldValue(int fieldID, Object value) {
-      switch (fieldID) {
-      case KEYSPACE:
-        if (value == null) {
-          unsetKeyspace();
-        } else {
-          setKeyspace((String)value);
-        }
-        break;
-
-      case BATCH_MUTATION_SUPER:
-        if (value == null) {
-          unsetBatch_mutation_super();
-        } else {
-          setBatch_mutation_super((BatchMutationSuper)value);
-        }
-        break;
-
-      case CONSISTENCY_LEVEL:
-        if (value == null) {
-          unsetConsistency_level();
-        } else {
-          setConsistency_level((Integer)value);
-        }
-        break;
-
-      default:
-        throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
-      }
-    }
-
-    public Object getFieldValue(int fieldID) {
-      switch (fieldID) {
-      case KEYSPACE:
-        return getKeyspace();
-
-      case BATCH_MUTATION_SUPER:
-        return getBatch_mutation_super();
-
-      case CONSISTENCY_LEVEL:
-        return getConsistency_level();
-
-      default:
-        throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
-      }
-    }
-
-    // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise
-    public boolean isSet(int fieldID) {
-      switch (fieldID) {
-      case KEYSPACE:
-        return isSetKeyspace();
-      case BATCH_MUTATION_SUPER:
-        return isSetBatch_mutation_super();
-      case CONSISTENCY_LEVEL:
-        return isSetConsistency_level();
-      default:
-        throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
-      }
-    }
-
-    @Override
-    public boolean equals(Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof batch_insert_super_column_args)
-        return this.equals((batch_insert_super_column_args)that);
-      return false;
-    }
-
-    public boolean equals(batch_insert_super_column_args that) {
-      if (that == null)
-        return false;
-
-      boolean this_present_keyspace = true && this.isSetKeyspace();
-      boolean that_present_keyspace = true && that.isSetKeyspace();
-      if (this_present_keyspace || that_present_keyspace) {
-        if (!(this_present_keyspace && that_present_keyspace))
-          return false;
-        if (!this.keyspace.equals(that.keyspace))
-          return false;
-      }
-
-      boolean this_present_batch_mutation_super = true && this.isSetBatch_mutation_super();
-      boolean that_present_batch_mutation_super = true && that.isSetBatch_mutation_super();
-      if (this_present_batch_mutation_super || that_present_batch_mutation_super) {
-        if (!(this_present_batch_mutation_super && that_present_batch_mutation_super))
-          return false;
-        if (!this.batch_mutation_super.equals(that.batch_mutation_super))
-          return false;
-      }
-
-      boolean this_present_consistency_level = true;
-      boolean that_present_consistency_level = true;
-      if (this_present_consistency_level || that_present_consistency_level) {
-        if (!(this_present_consistency_level && that_present_consistency_level))
-          return false;
-        if (this.consistency_level != that.consistency_level)
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      return 0;
-    }
-
-    public void read(TProtocol iprot) throws TException {
-      TField field;
-      iprot.readStructBegin();
-      while (true)
-      {
-        field = iprot.readFieldBegin();
-        if (field.type == TType.STOP) { 
-          break;
-        }
-        switch (field.id)
-        {
-          case KEYSPACE:
-            if (field.type == TType.STRING) {
-              this.keyspace = iprot.readString();
-            } else { 
-              TProtocolUtil.skip(iprot, field.type);
-            }
-            break;
-          case BATCH_MUTATION_SUPER:
-            if (field.type == TType.STRUCT) {
-              this.batch_mutation_super = new BatchMutationSuper();
-              this.batch_mutation_super.read(iprot);
-            } else { 
-              TProtocolUtil.skip(iprot, field.type);
-            }
-            break;
-          case CONSISTENCY_LEVEL:
-            if (field.type == TType.I32) {
-              this.consistency_level = iprot.readI32();
-              this.__isset.consistency_level = true;
-            } else { 
-              TProtocolUtil.skip(iprot, field.type);
-            }
-            break;
-          default:
-            TProtocolUtil.skip(iprot, field.type);
-            break;
-        }
-        iprot.readFieldEnd();
-      }
-      iprot.readStructEnd();
-
-
-      // check for required fields of primitive type, which can't be checked in the validate method
-      validate();
-    }
-
-    public void write(TProtocol oprot) throws TException {
-      validate();
-
-      oprot.writeStructBegin(STRUCT_DESC);
-      if (this.keyspace != null) {
-        oprot.writeFieldBegin(KEYSPACE_FIELD_DESC);
-        oprot.writeString(this.keyspace);
-        oprot.writeFieldEnd();
-      }
-      if (this.batch_mutation_super != null) {
-        oprot.writeFieldBegin(BATCH_MUTATION_SUPER_FIELD_DESC);
-        this.batch_mutation_super.write(oprot);
-        oprot.writeFieldEnd();
-      }
-      oprot.writeFieldBegin(CONSISTENCY_LEVEL_FIELD_DESC);
-      oprot.writeI32(this.consistency_level);
-      oprot.writeFieldEnd();
-      oprot.writeFieldStop();
-      oprot.writeStructEnd();
-    }
-
-    @Override
-    public String toString() {
-      StringBuilder sb = new StringBuilder("batch_insert_super_column_args(");
-      boolean first = true;
-
-      sb.append("keyspace:");
-      if (this.keyspace == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.keyspace);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("batch_mutation_super:");
-      if (this.batch_mutation_super == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.batch_mutation_super);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("consistency_level:");
-      String consistency_level_name = ConsistencyLevel.VALUES_TO_NAMES.get(this.consistency_level);
-      if (consistency_level_name != null) {
-        sb.append(consistency_level_name);
-        sb.append(" (");
-      }
-      sb.append(this.consistency_level);
-      if (consistency_level_name != null) {
-        sb.append(")");
-      }
-      first = false;
-      sb.append(")");
-      return sb.toString();
-    }
-
-    public void validate() throws TException {
-      // check for required fields
-      // check that fields of type enum have valid values
-      if (isSetConsistency_level() && !ConsistencyLevel.VALID_VALUES.contains(consistency_level)){
-        throw new TProtocolException("The field 'consistency_level' has been assigned the invalid value " + consistency_level);
-      }
-    }
-
-  }
-
-  public static class batch_insert_super_column_result implements TBase, java.io.Serializable, Cloneable   {
-    private static final TStruct STRUCT_DESC = new TStruct("batch_insert_super_column_result");
-    private static final TField IRE_FIELD_DESC = new TField("ire", TType.STRUCT, (short)1);
-    private static final TField UE_FIELD_DESC = new TField("ue", TType.STRUCT, (short)2);
-
-    public InvalidRequestException ire;
-    public static final int IRE = 1;
-    public UnavailableException ue;
-    public static final int UE = 2;
-
-    private final Isset __isset = new Isset();
-    private static final class Isset implements java.io.Serializable {
-    }
-
-    public static final Map<Integer, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new HashMap<Integer, FieldMetaData>() {{
-      put(IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, 
-          new FieldValueMetaData(TType.STRUCT)));
-      put(UE, new FieldMetaData("ue", TFieldRequirementType.DEFAULT, 
-          new FieldValueMetaData(TType.STRUCT)));
-    }});
-
-    static {
-      FieldMetaData.addStructMetaDataMap(batch_insert_super_column_result.class, metaDataMap);
-    }
-
-    public batch_insert_super_column_result() {
-    }
-
-    public batch_insert_super_column_result(
-      InvalidRequestException ire,
-      UnavailableException ue)
-    {
-      this();
-      this.ire = ire;
-      this.ue = ue;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public batch_insert_super_column_result(batch_insert_super_column_result other) {
-      if (other.isSetIre()) {
-        this.ire = new InvalidRequestException(other.ire);
-      }
-      if (other.isSetUe()) {
-        this.ue = new UnavailableException(other.ue);
-      }
-    }
-
-    @Override
-    public batch_insert_super_column_result clone() {
-      return new batch_insert_super_column_result(this);
-    }
-
-    public InvalidRequestException getIre() {
-      return this.ire;
-    }
-
-    public batch_insert_super_column_result setIre(InvalidRequestException ire) {
-      this.ire = ire;
-      return this;
-    }
-
-    public void unsetIre() {
-      this.ire = null;
-    }
-
-    // Returns true if field ire is set (has been asigned a value) and false otherwise
-    public boolean isSetIre() {
-      return this.ire != null;
-    }
-
-    public void setIreIsSet(boolean value) {
-      if (!value) {
-        this.ire = null;
-      }
-    }
-
-    public UnavailableException getUe() {
-      return this.ue;
-    }
-
-    public batch_insert_super_column_result setUe(UnavailableException ue) {
-      this.ue = ue;
-      return this;
-    }
-
-    public void unsetUe() {
-      this.ue = null;
-    }
-
-    // Returns true if field ue is set (has been asigned a value) and false otherwise
-    public boolean isSetUe() {
-      return this.ue != null;
-    }
-
-    public void setUeIsSet(boolean value) {
-      if (!value) {
-        this.ue = null;
-      }
-    }
-
-    public void setFieldValue(int fieldID, Object value) {
-      switch (fieldID) {
-      case IRE:
-        if (value == null) {
-          unsetIre();
-        } else {
-          setIre((InvalidRequestException)value);
-        }
-        break;
-
-      case UE:
-        if (value == null) {
-          unsetUe();
-        } else {
-          setUe((UnavailableException)value);
-        }
-        break;
-
-      default:
-        throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
-      }
-    }
-
-    public Object getFieldValue(int fieldID) {
-      switch (fieldID) {
-      case IRE:
-        return getIre();
-
-      case UE:
-        return getUe();
-
-      default:
-        throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
-      }
-    }
-
-    // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise
-    public boolean isSet(int fieldID) {
-      switch (fieldID) {
-      case IRE:
-        return isSetIre();
-      case UE:
-        return isSetUe();
-      default:
-        throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
-      }
-    }
-
-    @Override
-    public boolean equals(Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof batch_insert_super_column_result)
-        return this.equals((batch_insert_super_column_result)that);
-      return false;
-    }
-
-    public boolean equals(batch_insert_super_column_result that) {
-      if (that == null)
-        return false;
-
-      boolean this_present_ire = true && this.isSetIre();
-      boolean that_present_ire = true && that.isSetIre();
-      if (this_present_ire || that_present_ire) {
-        if (!(this_present_ire && that_present_ire))
-          return false;
-        if (!this.ire.equals(that.ire))
-          return false;
-      }
-
-      boolean this_present_ue = true && this.isSetUe();
-      boolean that_present_ue = true && that.isSetUe();
-      if (this_present_ue || that_present_ue) {
-        if (!(this_present_ue && that_present_ue))
-          return false;
-        if (!this.ue.equals(that.ue))
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      return 0;
-    }
-
-    public void read(TProtocol iprot) throws TException {
-      TField field;
-      iprot.readStructBegin();
-      while (true)
-      {
-        field = iprot.readFieldBegin();
-        if (field.type == TType.STOP) { 
-          break;
-        }
-        switch (field.id)
-        {
-          case IRE:
-            if (field.type == TType.STRUCT) {
-              this.ire = new InvalidRequestException();
-              this.ire.read(iprot);
-            } else { 
-              TProtocolUtil.skip(iprot, field.type);
-            }
-            break;
-          case UE:
-            if (field.type == TType.STRUCT) {
-              this.ue = new UnavailableException();
-              this.ue.read(iprot);
-            } else { 
-              TProtocolUtil.skip(iprot, field.type);
-            }
-            break;
-          default:
-            TProtocolUtil.skip(iprot, field.type);
-            break;
-        }
-        iprot.readFieldEnd();
-      }
-      iprot.readStructEnd();
-
-
-      // check for required fields of primitive type, which can't be checked in the validate method
-      validate();
-    }
-
-    public void write(TProtocol oprot) throws TException {
-      oprot.writeStructBegin(STRUCT_DESC);
-
-      if (this.isSetIre()) {
-        oprot.writeFieldBegin(IRE_FIELD_DESC);
-        this.ire.write(oprot);
-        oprot.writeFieldEnd();
-      } else if (this.isSetUe()) {
-        oprot.writeFieldBegin(UE_FIELD_DESC);
-        this.ue.write(oprot);
-        oprot.writeFieldEnd();
-      }
-      oprot.writeFieldStop();
-      oprot.writeStructEnd();
-    }
-
-    @Override
-    public String toString() {
-      StringBuilder sb = new StringBuilder("batch_insert_super_column_result(");
-      boolean first = true;
-
-      sb.append("ire:");
-      if (this.ire == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ire);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("ue:");
-      if (this.ue == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ue);
-      }
-      first = false;
-      sb.append(")");
-      return sb.toString();
-    }
-
-    public void validate() throws TException {
-      // check for required fields
-      // check that fields of type enum have valid values
-    }
-
-  }
-
   public static class get_key_range_args implements TBase, java.io.Serializable, Cloneable   {
     private static final TStruct STRUCT_DESC = new TStruct("get_key_range_args");
     private static final TField KEYSPACE_FIELD_DESC = new TField("keyspace", TType.STRING, (short)1);
@@ -6966,13 +6246,13 @@
           case SUCCESS:
             if (field.type == TType.LIST) {
               {
-                TList _list30 = iprot.readListBegin();
-                this.success = new ArrayList<String>(_list30.size);
-                for (int _i31 = 0; _i31 < _list30.size; ++_i31)
+                TList _list21 = iprot.readListBegin();
+                this.success = new ArrayList<String>(_list21.size);
+                for (int _i22 = 0; _i22 < _list21.size; ++_i22)
                 {
-                  String _elem32;
-                  _elem32 = iprot.readString();
-                  this.success.add(_elem32);
+                  String _elem23;
+                  _elem23 = iprot.readString();
+                  this.success.add(_elem23);
                 }
                 iprot.readListEnd();
               }
@@ -7008,8 +6288,8 @@
         oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
         {
           oprot.writeListBegin(new TList(TType.STRING, this.success.size()));
-          for (String _iter33 : this.success)          {
-            oprot.writeString(_iter33);
+          for (String _iter24 : this.success)          {
+            oprot.writeString(_iter24);
           }
           oprot.writeListEnd();
         }
@@ -7805,13 +7085,13 @@
           case SUCCESS:
             if (field.type == TType.LIST) {
               {
-                TList _list34 = iprot.readListBegin();
-                this.success = new ArrayList<String>(_list34.size);
-                for (int _i35 = 0; _i35 < _list34.size; ++_i35)
+                TList _list25 = iprot.readListBegin();
+                this.success = new ArrayList<String>(_list25.size);
+                for (int _i26 = 0; _i26 < _list25.size; ++_i26)
                 {
-                  String _elem36;
-                  _elem36 = iprot.readString();
-                  this.success.add(_elem36);
+                  String _elem27;
+                  _elem27 = iprot.readString();
+                  this.success.add(_elem27);
                 }
                 iprot.readListEnd();
               }
@@ -7839,8 +7119,8 @@
         oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
         {
           oprot.writeListBegin(new TList(TType.STRING, this.success.size()));
-          for (String _iter37 : this.success)          {
-            oprot.writeString(_iter37);
+          for (String _iter28 : this.success)          {
+            oprot.writeString(_iter28);
           }
           oprot.writeListEnd();
         }
@@ -8303,27 +7583,27 @@
           case SUCCESS:
             if (field.type == TType.MAP) {
               {
-                TMap _map38 = iprot.readMapBegin();
-                this.success = new HashMap<String,Map<String,String>>(2*_map38.size);
-                for (int _i39 = 0; _i39 < _map38.size; ++_i39)
+                TMap _map29 = iprot.readMapBegin();
+                this.success = new HashMap<String,Map<String,String>>(2*_map29.size);
+                for (int _i30 = 0; _i30 < _map29.size; ++_i30)
                 {
-                  String _key40;
-                  Map<String,String> _val41;
-                  _key40 = iprot.readString();
+                  String _key31;
+                  Map<String,String> _val32;
+                  _key31 = iprot.readString();
                   {
-                    TMap _map42 = iprot.readMapBegin();
-                    _val41 = new HashMap<String,String>(2*_map42.size);
-                    for (int _i43 = 0; _i43 < _map42.size; ++_i43)
+                    TMap _map33 = iprot.readMapBegin();
+                    _val32 = new HashMap<String,String>(2*_map33.size);
+                    for (int _i34 = 0; _i34 < _map33.size; ++_i34)
                     {
-                      String _key44;
-                      String _val45;
-                      _key44 = iprot.readString();
-                      _val45 = iprot.readString();
-                      _val41.put(_key44, _val45);
+                      String _key35;
+                      String _val36;
+                      _key35 = iprot.readString();
+                      _val36 = iprot.readString();
+                      _val32.put(_key35, _val36);
                     }
                     iprot.readMapEnd();
                   }
-                  this.success.put(_key40, _val41);
+                  this.success.put(_key31, _val32);
                 }
                 iprot.readMapEnd();
               }
@@ -8359,13 +7639,13 @@
         oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
         {
           oprot.writeMapBegin(new TMap(TType.STRING, TType.MAP, this.success.size()));
-          for (Map.Entry<String, Map<String,String>> _iter46 : this.success.entrySet())          {
-            oprot.writeString(_iter46.getKey());
+          for (Map.Entry<String, Map<String,String>> _iter37 : this.success.entrySet())          {
+            oprot.writeString(_iter37.getKey());
             {
-              oprot.writeMapBegin(new TMap(TType.STRING, TType.STRING, _iter46.getValue().size()));
-              for (Map.Entry<String, String> _iter47 : _iter46.getValue().entrySet())              {
-                oprot.writeString(_iter47.getKey());
-                oprot.writeString(_iter47.getValue());
+              oprot.writeMapBegin(new TMap(TType.STRING, TType.STRING, _iter37.getValue().size()));
+              for (Map.Entry<String, String> _iter38 : _iter37.getValue().entrySet())              {
+                oprot.writeString(_iter38.getKey());
+                oprot.writeString(_iter38.getValue());
               }
               oprot.writeMapEnd();
             }

Modified: incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/SlicePredicate.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/SlicePredicate.java?rev=808045&r1=808044&r2=808045&view=diff
==============================================================================
--- incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/SlicePredicate.java (original)
+++ incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/SlicePredicate.java Wed Aug 26 15:11:27 2009
@@ -249,13 +249,13 @@
         case COLUMN_NAMES:
           if (field.type == TType.LIST) {
             {
-              TList _list22 = iprot.readListBegin();
-              this.column_names = new ArrayList<byte[]>(_list22.size);
-              for (int _i23 = 0; _i23 < _list22.size; ++_i23)
+              TList _list4 = iprot.readListBegin();
+              this.column_names = new ArrayList<byte[]>(_list4.size);
+              for (int _i5 = 0; _i5 < _list4.size; ++_i5)
               {
-                byte[] _elem24;
-                _elem24 = iprot.readBinary();
-                this.column_names.add(_elem24);
+                byte[] _elem6;
+                _elem6 = iprot.readBinary();
+                this.column_names.add(_elem6);
               }
               iprot.readListEnd();
             }
@@ -293,8 +293,8 @@
         oprot.writeFieldBegin(COLUMN_NAMES_FIELD_DESC);
         {
           oprot.writeListBegin(new TList(TType.STRING, this.column_names.size()));
-          for (byte[] _iter25 : this.column_names)          {
-            oprot.writeBinary(_iter25);
+          for (byte[] _iter7 : this.column_names)          {
+            oprot.writeBinary(_iter7);
           }
           oprot.writeListEnd();
         }

Modified: incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/SuperColumn.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/SuperColumn.java?rev=808045&r1=808044&r2=808045&view=diff
==============================================================================
--- incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/SuperColumn.java (original)
+++ incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/SuperColumn.java Wed Aug 26 15:11:27 2009
@@ -255,14 +255,14 @@
         case COLUMNS:
           if (field.type == TType.LIST) {
             {
-              TList _list9 = iprot.readListBegin();
-              this.columns = new ArrayList<Column>(_list9.size);
-              for (int _i10 = 0; _i10 < _list9.size; ++_i10)
+              TList _list0 = iprot.readListBegin();
+              this.columns = new ArrayList<Column>(_list0.size);
+              for (int _i1 = 0; _i1 < _list0.size; ++_i1)
               {
-                Column _elem11;
-                _elem11 = new Column();
-                _elem11.read(iprot);
-                this.columns.add(_elem11);
+                Column _elem2;
+                _elem2 = new Column();
+                _elem2.read(iprot);
+                this.columns.add(_elem2);
               }
               iprot.readListEnd();
             }
@@ -296,8 +296,8 @@
       oprot.writeFieldBegin(COLUMNS_FIELD_DESC);
       {
         oprot.writeListBegin(new TList(TType.STRUCT, this.columns.size()));
-        for (Column _iter12 : this.columns)        {
-          _iter12.write(oprot);
+        for (Column _iter3 : this.columns)        {
+          _iter3.write(oprot);
         }
         oprot.writeListEnd();
       }

Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/db/RowMutation.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/db/RowMutation.java?rev=808045&r1=808044&r2=808045&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/db/RowMutation.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/db/RowMutation.java Wed Aug 26 15:11:27 2009
@@ -37,10 +37,7 @@
 import org.apache.cassandra.io.ICompactSerializer;
 import org.apache.cassandra.net.EndPoint;
 import org.apache.cassandra.net.Message;
-import org.apache.cassandra.service.StorageService;
-import org.apache.cassandra.service.BatchMutationSuper;
-import org.apache.cassandra.service.BatchMutation;
-import org.apache.cassandra.service.InvalidRequestException;
+import org.apache.cassandra.service.*;
 import org.apache.cassandra.utils.FBUtilities;
 import org.apache.cassandra.db.filter.QueryPath;
 import org.apache.cassandra.db.marshal.MarshalException;
@@ -243,35 +240,24 @@
     public static RowMutation getRowMutation(String table, BatchMutation batchMutation)
     {
         RowMutation rm = new RowMutation(table, batchMutation.key.trim());
-        for (String cfname : batchMutation.cfmap.keySet())
+        for (Map.Entry<String, List<ColumnOrSuperColumn>> entry : batchMutation.cfmap.entrySet())
         {
-            List<org.apache.cassandra.service.Column> list = batchMutation.cfmap.get(cfname);
-            for (org.apache.cassandra.service.Column column : list)
+            String cfName = entry.getKey();
+            for (ColumnOrSuperColumn cosc : entry.getValue())
             {
-                rm.add(new QueryPath(cfname, null, column.name), column.value, column.timestamp);
-            }
-        }
-        return rm;
-    }
-
-    public static RowMutation getRowMutation(String table, BatchMutationSuper batchMutationSuper) throws InvalidRequestException
-    {
-        RowMutation rm = new RowMutation(table, batchMutationSuper.key.trim());
-        for (String cfName : batchMutationSuper.cfmap.keySet())
-        {
-            for (org.apache.cassandra.service.SuperColumn super_column : batchMutationSuper.cfmap.get(cfName))
-            {
-                for (org.apache.cassandra.service.Column column : super_column.columns)
+                if (cosc.column == null)
                 {
-                    try
-                    {
-                        rm.add(new QueryPath(cfName, super_column.name, column.name), column.value, column.timestamp);
-                    }
-                    catch (MarshalException e)
+                    assert cosc.super_column != null;
+                    for (org.apache.cassandra.service.Column column : cosc.super_column.columns)
                     {
-                        throw new InvalidRequestException(e.getMessage());
+                        rm.add(new QueryPath(cfName, cosc.super_column.name, column.name), column.value, column.timestamp);
                     }
                 }
+                else
+                {
+                    assert cosc.super_column == null;
+                    rm.add(new QueryPath(cfName, null, cosc.column.name), cosc.column.value, cosc.column.timestamp);
+                }
             }
         }
         return rm;

Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/service/CassandraServer.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/service/CassandraServer.java?rev=808045&r1=808044&r2=808045&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/service/CassandraServer.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/service/CassandraServer.java Wed Aug 26 15:11:27 2009
@@ -327,9 +327,19 @@
 
         for (String cfName : batch_mutation.cfmap.keySet())
         {
-            for (Column c : batch_mutation.cfmap.get(cfName))
+            for (ColumnOrSuperColumn cosc : batch_mutation.cfmap.get(cfName))
             {
-                ThriftValidation.validateColumnPath(table, new ColumnPath(cfName, null, c.name));
+                if (cosc.column != null)
+                {
+                    ThriftValidation.validateColumnPath(table, new ColumnPath(cfName, null, cosc.column.name));
+                }
+                if (cosc.super_column != null)
+                {
+                    for (Column c : cosc.super_column.columns)
+                    {
+                        ThriftValidation.validateColumnPath(table, new ColumnPath(cfName, cosc.super_column.name, c.name));
+                    }
+                }
             }
         }
 
@@ -361,26 +371,6 @@
         }
     }
 
-    public void batch_insert_super_column(String table, BatchMutationSuper batch_mutation_super, int consistency_level)
-    throws InvalidRequestException, UnavailableException
-    {
-        if (logger.isDebugEnabled())
-            logger.debug("batch_insert_SuperColumn");
-
-        for (String cfName : batch_mutation_super.cfmap.keySet())
-        {
-            for (SuperColumn sc : batch_mutation_super.cfmap.get(cfName))
-            {
-                for (Column c : sc.columns)
-                {
-                    ThriftValidation.validateColumnPath(table, new ColumnPath(cfName, sc.name, c.name));
-                }
-            }
-        }
-
-        doInsert(consistency_level, RowMutation.getRowMutation(table, batch_mutation_super));
-    }
-
     public String get_string_property(String propertyName)
     {
         if (propertyName.equals("cluster name"))

Modified: incubator/cassandra/trunk/test/system/test_server.py
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/test/system/test_server.py?rev=808045&r1=808044&r2=808045&view=diff
==============================================================================
--- incubator/cassandra/trunk/test/system/test_server.py (original)
+++ incubator/cassandra/trunk/test/system/test_server.py Wed Aug 26 15:11:27 2009
@@ -43,8 +43,8 @@
     client.insert('Keyspace1', 'key1', ColumnPath('Standard1', column='c2'), 'value2', 0, consistencyLevel)
 
 def _insert_batch(block):
-    cfmap = {'Standard1': _SIMPLE_COLUMNS,
-             'Standard2': _SIMPLE_COLUMNS}
+    cfmap = {'Standard1': [ColumnOrSuperColumn(c) for c in _SIMPLE_COLUMNS],
+             'Standard2': [ColumnOrSuperColumn(c) for c in _SIMPLE_COLUMNS]}
     if block:
         consistencyLevel = ConsistencyLevel.ONE
     else:
@@ -296,17 +296,17 @@
                           InvalidRequestException)
 
     def test_batch_insert_super(self):
-         cfmap = {'Super1': _SUPER_COLUMNS,
-                  'Super2': _SUPER_COLUMNS}
-         client.batch_insert_super_column('Keyspace1', BatchMutation(key='key1', cfmap=cfmap), ConsistencyLevel.ZERO)
+         cfmap = {'Super1': [ColumnOrSuperColumn(super_column=c) for c in _SUPER_COLUMNS],
+                  'Super2': [ColumnOrSuperColumn(super_column=c) for c in _SUPER_COLUMNS]}
+         client.batch_insert('Keyspace1', BatchMutation(key='key1', cfmap=cfmap), ConsistencyLevel.ZERO)
          time.sleep(0.1)
          _verify_super('Super1')
          _verify_super('Super2')
 
     def test_batch_insert_super_blocking(self):
-         cfmap = {'Super1': _SUPER_COLUMNS,
-                  'Super2': _SUPER_COLUMNS}
-         client.batch_insert_super_column('Keyspace1', BatchMutation(key='key1', cfmap=cfmap), ConsistencyLevel.ONE)
+         cfmap = {'Super1': [ColumnOrSuperColumn(super_column=c) for c in _SUPER_COLUMNS],
+                  'Super2': [ColumnOrSuperColumn(super_column=c) for c in _SUPER_COLUMNS]}
+         client.batch_insert('Keyspace1', BatchMutation(key='key1', cfmap=cfmap), ConsistencyLevel.ONE)
          _verify_super('Super1')
          _verify_super('Super2')