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/10 04:51:36 UTC

svn commit: r802640 [2/4] - in /incubator/cassandra/trunk: interface/ interface/gen-java/org/apache/cassandra/service/ src/java/org/apache/cassandra/cli/ src/java/org/apache/cassandra/db/ src/java/org/apache/cassandra/db/filter/ src/java/org/apache/cas...

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=802640&r1=802639&r2=802640&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 Mon Aug 10 02:51:35 2009
@@ -22,25 +22,17 @@
 
   public interface Iface {
 
-    public List<Column> get_slice_by_names(String keyspace, String key, ColumnParent column_parent, List<byte[]> column_names, int consistency_level) throws InvalidRequestException, NotFoundException, TException;
+    public List<ColumnOrSuperColumn> get_slice(String keyspace, String key, ColumnParent column_parent, SlicePredicate predicate, int consistency_level) throws InvalidRequestException, NotFoundException, TException;
 
-    public List<Column> get_slice(String keyspace, String key, ColumnParent column_parent, byte[] start, byte[] finish, boolean is_ascending, int count, int consistency_level) throws InvalidRequestException, NotFoundException, TException;
+    public ColumnOrSuperColumn get(String keyspace, String key, ColumnPath column_path, int consistency_level) throws InvalidRequestException, NotFoundException, TException;
 
-    public Column get_column(String keyspace, String key, ColumnPath column_path, int consistency_level) throws InvalidRequestException, NotFoundException, TException;
-
-    public int get_column_count(String keyspace, String key, ColumnParent column_parent, int consistency_level) throws InvalidRequestException, TException;
+    public int get_count(String keyspace, String key, ColumnParent column_parent, int consistency_level) throws InvalidRequestException, TException;
 
     public void insert(String keyspace, String key, ColumnPath column_path, byte[] value, long timestamp, int consistency_level) throws InvalidRequestException, UnavailableException, TException;
 
     public void batch_insert(String keyspace, BatchMutation batch_mutation, int consistency_level) throws InvalidRequestException, UnavailableException, TException;
 
-    public void remove(String keyspace, String key, ColumnPathOrParent column_path_or_parent, long timestamp, int consistency_level) throws InvalidRequestException, UnavailableException, TException;
-
-    public List<SuperColumn> get_slice_super(String keyspace, String key, String column_family, byte[] start, byte[] finish, boolean is_ascending, int count, int consistency_level) throws InvalidRequestException, TException;
-
-    public List<SuperColumn> get_slice_super_by_names(String keyspace, String key, String column_family, List<byte[]> super_column_names, int consistency_level) throws InvalidRequestException, TException;
-
-    public SuperColumn get_super_column(String keyspace, String key, SuperColumnPath super_column_path, int consistency_level) throws InvalidRequestException, NotFoundException, TException;
+    public void remove(String keyspace, String key, ColumnPath column_path_or_parent, 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;
 
@@ -83,73 +75,27 @@
       return this.oprot_;
     }
 
-    public List<Column> get_slice_by_names(String keyspace, String key, ColumnParent column_parent, List<byte[]> column_names, int consistency_level) throws InvalidRequestException, NotFoundException, TException
-    {
-      send_get_slice_by_names(keyspace, key, column_parent, column_names, consistency_level);
-      return recv_get_slice_by_names();
-    }
-
-    public void send_get_slice_by_names(String keyspace, String key, ColumnParent column_parent, List<byte[]> column_names, int consistency_level) throws TException
-    {
-      oprot_.writeMessageBegin(new TMessage("get_slice_by_names", TMessageType.CALL, seqid_));
-      get_slice_by_names_args args = new get_slice_by_names_args();
-      args.keyspace = keyspace;
-      args.key = key;
-      args.column_parent = column_parent;
-      args.column_names = column_names;
-      args.consistency_level = consistency_level;
-      args.write(oprot_);
-      oprot_.writeMessageEnd();
-      oprot_.getTransport().flush();
-    }
-
-    public List<Column> recv_get_slice_by_names() throws InvalidRequestException, NotFoundException, TException
-    {
-      TMessage msg = iprot_.readMessageBegin();
-      if (msg.type == TMessageType.EXCEPTION) {
-        TApplicationException x = TApplicationException.read(iprot_);
-        iprot_.readMessageEnd();
-        throw x;
-      }
-      get_slice_by_names_result result = new get_slice_by_names_result();
-      result.read(iprot_);
-      iprot_.readMessageEnd();
-      if (result.isSetSuccess()) {
-        return result.success;
-      }
-      if (result.ire != null) {
-        throw result.ire;
-      }
-      if (result.nfe != null) {
-        throw result.nfe;
-      }
-      throw new TApplicationException(TApplicationException.MISSING_RESULT, "get_slice_by_names failed: unknown result");
-    }
-
-    public List<Column> get_slice(String keyspace, String key, ColumnParent column_parent, byte[] start, byte[] finish, boolean is_ascending, int count, int consistency_level) throws InvalidRequestException, NotFoundException, TException
+    public List<ColumnOrSuperColumn> get_slice(String keyspace, String key, ColumnParent column_parent, SlicePredicate predicate, int consistency_level) throws InvalidRequestException, NotFoundException, TException
     {
-      send_get_slice(keyspace, key, column_parent, start, finish, is_ascending, count, consistency_level);
+      send_get_slice(keyspace, key, column_parent, predicate, consistency_level);
       return recv_get_slice();
     }
 
-    public void send_get_slice(String keyspace, String key, ColumnParent column_parent, byte[] start, byte[] finish, boolean is_ascending, int count, int consistency_level) throws TException
+    public void send_get_slice(String keyspace, String key, ColumnParent column_parent, SlicePredicate predicate, int consistency_level) throws TException
     {
       oprot_.writeMessageBegin(new TMessage("get_slice", TMessageType.CALL, seqid_));
       get_slice_args args = new get_slice_args();
       args.keyspace = keyspace;
       args.key = key;
       args.column_parent = column_parent;
-      args.start = start;
-      args.finish = finish;
-      args.is_ascending = is_ascending;
-      args.count = count;
+      args.predicate = predicate;
       args.consistency_level = consistency_level;
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
     }
 
-    public List<Column> recv_get_slice() throws InvalidRequestException, NotFoundException, TException
+    public List<ColumnOrSuperColumn> recv_get_slice() throws InvalidRequestException, NotFoundException, TException
     {
       TMessage msg = iprot_.readMessageBegin();
       if (msg.type == TMessageType.EXCEPTION) {
@@ -172,16 +118,16 @@
       throw new TApplicationException(TApplicationException.MISSING_RESULT, "get_slice failed: unknown result");
     }
 
-    public Column get_column(String keyspace, String key, ColumnPath column_path, int consistency_level) throws InvalidRequestException, NotFoundException, TException
+    public ColumnOrSuperColumn get(String keyspace, String key, ColumnPath column_path, int consistency_level) throws InvalidRequestException, NotFoundException, TException
     {
-      send_get_column(keyspace, key, column_path, consistency_level);
-      return recv_get_column();
+      send_get(keyspace, key, column_path, consistency_level);
+      return recv_get();
     }
 
-    public void send_get_column(String keyspace, String key, ColumnPath column_path, int consistency_level) throws TException
+    public void send_get(String keyspace, String key, ColumnPath column_path, int consistency_level) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("get_column", TMessageType.CALL, seqid_));
-      get_column_args args = new get_column_args();
+      oprot_.writeMessageBegin(new TMessage("get", TMessageType.CALL, seqid_));
+      get_args args = new get_args();
       args.keyspace = keyspace;
       args.key = key;
       args.column_path = column_path;
@@ -191,7 +137,7 @@
       oprot_.getTransport().flush();
     }
 
-    public Column recv_get_column() throws InvalidRequestException, NotFoundException, TException
+    public ColumnOrSuperColumn recv_get() throws InvalidRequestException, NotFoundException, TException
     {
       TMessage msg = iprot_.readMessageBegin();
       if (msg.type == TMessageType.EXCEPTION) {
@@ -199,7 +145,7 @@
         iprot_.readMessageEnd();
         throw x;
       }
-      get_column_result result = new get_column_result();
+      get_result result = new get_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
       if (result.isSetSuccess()) {
@@ -211,19 +157,19 @@
       if (result.nfe != null) {
         throw result.nfe;
       }
-      throw new TApplicationException(TApplicationException.MISSING_RESULT, "get_column failed: unknown result");
+      throw new TApplicationException(TApplicationException.MISSING_RESULT, "get failed: unknown result");
     }
 
-    public int get_column_count(String keyspace, String key, ColumnParent column_parent, int consistency_level) throws InvalidRequestException, TException
+    public int get_count(String keyspace, String key, ColumnParent column_parent, int consistency_level) throws InvalidRequestException, TException
     {
-      send_get_column_count(keyspace, key, column_parent, consistency_level);
-      return recv_get_column_count();
+      send_get_count(keyspace, key, column_parent, consistency_level);
+      return recv_get_count();
     }
 
-    public void send_get_column_count(String keyspace, String key, ColumnParent column_parent, int consistency_level) throws TException
+    public void send_get_count(String keyspace, String key, ColumnParent column_parent, int consistency_level) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("get_column_count", TMessageType.CALL, seqid_));
-      get_column_count_args args = new get_column_count_args();
+      oprot_.writeMessageBegin(new TMessage("get_count", TMessageType.CALL, seqid_));
+      get_count_args args = new get_count_args();
       args.keyspace = keyspace;
       args.key = key;
       args.column_parent = column_parent;
@@ -233,7 +179,7 @@
       oprot_.getTransport().flush();
     }
 
-    public int recv_get_column_count() throws InvalidRequestException, TException
+    public int recv_get_count() throws InvalidRequestException, TException
     {
       TMessage msg = iprot_.readMessageBegin();
       if (msg.type == TMessageType.EXCEPTION) {
@@ -241,7 +187,7 @@
         iprot_.readMessageEnd();
         throw x;
       }
-      get_column_count_result result = new get_column_count_result();
+      get_count_result result = new get_count_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
       if (result.isSetSuccess()) {
@@ -250,7 +196,7 @@
       if (result.ire != null) {
         throw result.ire;
       }
-      throw new TApplicationException(TApplicationException.MISSING_RESULT, "get_column_count failed: unknown result");
+      throw new TApplicationException(TApplicationException.MISSING_RESULT, "get_count failed: unknown result");
     }
 
     public void insert(String keyspace, String key, ColumnPath column_path, byte[] value, long timestamp, int consistency_level) throws InvalidRequestException, UnavailableException, TException
@@ -332,13 +278,13 @@
       return;
     }
 
-    public void remove(String keyspace, String key, ColumnPathOrParent column_path_or_parent, long timestamp, int consistency_level) throws InvalidRequestException, UnavailableException, TException
+    public void remove(String keyspace, String key, ColumnPath column_path_or_parent, long timestamp, int consistency_level) throws InvalidRequestException, UnavailableException, TException
     {
       send_remove(keyspace, key, column_path_or_parent, timestamp, consistency_level);
       recv_remove();
     }
 
-    public void send_remove(String keyspace, String key, ColumnPathOrParent column_path_or_parent, long timestamp, int consistency_level) throws TException
+    public void send_remove(String keyspace, String key, ColumnPath column_path_or_parent, long timestamp, int consistency_level) throws TException
     {
       oprot_.writeMessageBegin(new TMessage("remove", TMessageType.CALL, seqid_));
       remove_args args = new remove_args();
@@ -372,131 +318,6 @@
       return;
     }
 
-    public List<SuperColumn> get_slice_super(String keyspace, String key, String column_family, byte[] start, byte[] finish, boolean is_ascending, int count, int consistency_level) throws InvalidRequestException, TException
-    {
-      send_get_slice_super(keyspace, key, column_family, start, finish, is_ascending, count, consistency_level);
-      return recv_get_slice_super();
-    }
-
-    public void send_get_slice_super(String keyspace, String key, String column_family, byte[] start, byte[] finish, boolean is_ascending, int count, int consistency_level) throws TException
-    {
-      oprot_.writeMessageBegin(new TMessage("get_slice_super", TMessageType.CALL, seqid_));
-      get_slice_super_args args = new get_slice_super_args();
-      args.keyspace = keyspace;
-      args.key = key;
-      args.column_family = column_family;
-      args.start = start;
-      args.finish = finish;
-      args.is_ascending = is_ascending;
-      args.count = count;
-      args.consistency_level = consistency_level;
-      args.write(oprot_);
-      oprot_.writeMessageEnd();
-      oprot_.getTransport().flush();
-    }
-
-    public List<SuperColumn> recv_get_slice_super() throws InvalidRequestException, TException
-    {
-      TMessage msg = iprot_.readMessageBegin();
-      if (msg.type == TMessageType.EXCEPTION) {
-        TApplicationException x = TApplicationException.read(iprot_);
-        iprot_.readMessageEnd();
-        throw x;
-      }
-      get_slice_super_result result = new get_slice_super_result();
-      result.read(iprot_);
-      iprot_.readMessageEnd();
-      if (result.isSetSuccess()) {
-        return result.success;
-      }
-      if (result.ire != null) {
-        throw result.ire;
-      }
-      throw new TApplicationException(TApplicationException.MISSING_RESULT, "get_slice_super failed: unknown result");
-    }
-
-    public List<SuperColumn> get_slice_super_by_names(String keyspace, String key, String column_family, List<byte[]> super_column_names, int consistency_level) throws InvalidRequestException, TException
-    {
-      send_get_slice_super_by_names(keyspace, key, column_family, super_column_names, consistency_level);
-      return recv_get_slice_super_by_names();
-    }
-
-    public void send_get_slice_super_by_names(String keyspace, String key, String column_family, List<byte[]> super_column_names, int consistency_level) throws TException
-    {
-      oprot_.writeMessageBegin(new TMessage("get_slice_super_by_names", TMessageType.CALL, seqid_));
-      get_slice_super_by_names_args args = new get_slice_super_by_names_args();
-      args.keyspace = keyspace;
-      args.key = key;
-      args.column_family = column_family;
-      args.super_column_names = super_column_names;
-      args.consistency_level = consistency_level;
-      args.write(oprot_);
-      oprot_.writeMessageEnd();
-      oprot_.getTransport().flush();
-    }
-
-    public List<SuperColumn> recv_get_slice_super_by_names() throws InvalidRequestException, TException
-    {
-      TMessage msg = iprot_.readMessageBegin();
-      if (msg.type == TMessageType.EXCEPTION) {
-        TApplicationException x = TApplicationException.read(iprot_);
-        iprot_.readMessageEnd();
-        throw x;
-      }
-      get_slice_super_by_names_result result = new get_slice_super_by_names_result();
-      result.read(iprot_);
-      iprot_.readMessageEnd();
-      if (result.isSetSuccess()) {
-        return result.success;
-      }
-      if (result.ire != null) {
-        throw result.ire;
-      }
-      throw new TApplicationException(TApplicationException.MISSING_RESULT, "get_slice_super_by_names failed: unknown result");
-    }
-
-    public SuperColumn get_super_column(String keyspace, String key, SuperColumnPath super_column_path, int consistency_level) throws InvalidRequestException, NotFoundException, TException
-    {
-      send_get_super_column(keyspace, key, super_column_path, consistency_level);
-      return recv_get_super_column();
-    }
-
-    public void send_get_super_column(String keyspace, String key, SuperColumnPath super_column_path, int consistency_level) throws TException
-    {
-      oprot_.writeMessageBegin(new TMessage("get_super_column", TMessageType.CALL, seqid_));
-      get_super_column_args args = new get_super_column_args();
-      args.keyspace = keyspace;
-      args.key = key;
-      args.super_column_path = super_column_path;
-      args.consistency_level = consistency_level;
-      args.write(oprot_);
-      oprot_.writeMessageEnd();
-      oprot_.getTransport().flush();
-    }
-
-    public SuperColumn recv_get_super_column() throws InvalidRequestException, NotFoundException, TException
-    {
-      TMessage msg = iprot_.readMessageBegin();
-      if (msg.type == TMessageType.EXCEPTION) {
-        TApplicationException x = TApplicationException.read(iprot_);
-        iprot_.readMessageEnd();
-        throw x;
-      }
-      get_super_column_result result = new get_super_column_result();
-      result.read(iprot_);
-      iprot_.readMessageEnd();
-      if (result.isSetSuccess()) {
-        return result.success;
-      }
-      if (result.ire != null) {
-        throw result.ire;
-      }
-      if (result.nfe != null) {
-        throw result.nfe;
-      }
-      throw new TApplicationException(TApplicationException.MISSING_RESULT, "get_super_column failed: unknown result");
-    }
-
     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);
@@ -716,16 +537,12 @@
     public Processor(Iface iface)
     {
       iface_ = iface;
-      processMap_.put("get_slice_by_names", new get_slice_by_names());
       processMap_.put("get_slice", new get_slice());
-      processMap_.put("get_column", new get_column());
-      processMap_.put("get_column_count", new get_column_count());
+      processMap_.put("get", new get());
+      processMap_.put("get_count", new get_count());
       processMap_.put("insert", new insert());
       processMap_.put("batch_insert", new batch_insert());
       processMap_.put("remove", new remove());
-      processMap_.put("get_slice_super", new get_slice_super());
-      processMap_.put("get_slice_super_by_names", new get_slice_super_by_names());
-      processMap_.put("get_super_column", new get_super_column());
       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());
@@ -759,36 +576,6 @@
       return true;
     }
 
-    private class get_slice_by_names implements ProcessFunction {
-      public void process(int seqid, TProtocol iprot, TProtocol oprot) throws TException
-      {
-        get_slice_by_names_args args = new get_slice_by_names_args();
-        args.read(iprot);
-        iprot.readMessageEnd();
-        get_slice_by_names_result result = new get_slice_by_names_result();
-        try {
-          result.success = iface_.get_slice_by_names(args.keyspace, args.key, args.column_parent, args.column_names, args.consistency_level);
-        } catch (InvalidRequestException ire) {
-          result.ire = ire;
-        } catch (NotFoundException nfe) {
-          result.nfe = nfe;
-        } catch (Throwable th) {
-          LOGGER.error("Internal error processing get_slice_by_names", th);
-          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing get_slice_by_names");
-          oprot.writeMessageBegin(new TMessage("get_slice_by_names", TMessageType.EXCEPTION, seqid));
-          x.write(oprot);
-          oprot.writeMessageEnd();
-          oprot.getTransport().flush();
-          return;
-        }
-        oprot.writeMessageBegin(new TMessage("get_slice_by_names", TMessageType.REPLY, seqid));
-        result.write(oprot);
-        oprot.writeMessageEnd();
-        oprot.getTransport().flush();
-      }
-
-    }
-
     private class get_slice implements ProcessFunction {
       public void process(int seqid, TProtocol iprot, TProtocol oprot) throws TException
       {
@@ -797,7 +584,7 @@
         iprot.readMessageEnd();
         get_slice_result result = new get_slice_result();
         try {
-          result.success = iface_.get_slice(args.keyspace, args.key, args.column_parent, args.start, args.finish, args.is_ascending, args.count, args.consistency_level);
+          result.success = iface_.get_slice(args.keyspace, args.key, args.column_parent, args.predicate, args.consistency_level);
         } catch (InvalidRequestException ire) {
           result.ire = ire;
         } catch (NotFoundException nfe) {
@@ -819,29 +606,29 @@
 
     }
 
-    private class get_column implements ProcessFunction {
+    private class get implements ProcessFunction {
       public void process(int seqid, TProtocol iprot, TProtocol oprot) throws TException
       {
-        get_column_args args = new get_column_args();
+        get_args args = new get_args();
         args.read(iprot);
         iprot.readMessageEnd();
-        get_column_result result = new get_column_result();
+        get_result result = new get_result();
         try {
-          result.success = iface_.get_column(args.keyspace, args.key, args.column_path, args.consistency_level);
+          result.success = iface_.get(args.keyspace, args.key, args.column_path, args.consistency_level);
         } catch (InvalidRequestException ire) {
           result.ire = ire;
         } catch (NotFoundException nfe) {
           result.nfe = nfe;
         } catch (Throwable th) {
-          LOGGER.error("Internal error processing get_column", th);
-          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing get_column");
-          oprot.writeMessageBegin(new TMessage("get_column", TMessageType.EXCEPTION, seqid));
+          LOGGER.error("Internal error processing get", th);
+          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing get");
+          oprot.writeMessageBegin(new TMessage("get", TMessageType.EXCEPTION, seqid));
           x.write(oprot);
           oprot.writeMessageEnd();
           oprot.getTransport().flush();
           return;
         }
-        oprot.writeMessageBegin(new TMessage("get_column", TMessageType.REPLY, seqid));
+        oprot.writeMessageBegin(new TMessage("get", TMessageType.REPLY, seqid));
         result.write(oprot);
         oprot.writeMessageEnd();
         oprot.getTransport().flush();
@@ -849,28 +636,28 @@
 
     }
 
-    private class get_column_count implements ProcessFunction {
+    private class get_count implements ProcessFunction {
       public void process(int seqid, TProtocol iprot, TProtocol oprot) throws TException
       {
-        get_column_count_args args = new get_column_count_args();
+        get_count_args args = new get_count_args();
         args.read(iprot);
         iprot.readMessageEnd();
-        get_column_count_result result = new get_column_count_result();
+        get_count_result result = new get_count_result();
         try {
-          result.success = iface_.get_column_count(args.keyspace, args.key, args.column_parent, args.consistency_level);
+          result.success = iface_.get_count(args.keyspace, args.key, args.column_parent, args.consistency_level);
           result.__isset.success = true;
         } catch (InvalidRequestException ire) {
           result.ire = ire;
         } catch (Throwable th) {
-          LOGGER.error("Internal error processing get_column_count", th);
-          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing get_column_count");
-          oprot.writeMessageBegin(new TMessage("get_column_count", TMessageType.EXCEPTION, seqid));
+          LOGGER.error("Internal error processing get_count", th);
+          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing get_count");
+          oprot.writeMessageBegin(new TMessage("get_count", TMessageType.EXCEPTION, seqid));
           x.write(oprot);
           oprot.writeMessageEnd();
           oprot.getTransport().flush();
           return;
         }
-        oprot.writeMessageBegin(new TMessage("get_column_count", TMessageType.REPLY, seqid));
+        oprot.writeMessageBegin(new TMessage("get_count", TMessageType.REPLY, seqid));
         result.write(oprot);
         oprot.writeMessageEnd();
         oprot.getTransport().flush();
@@ -968,92 +755,6 @@
 
     }
 
-    private class get_slice_super implements ProcessFunction {
-      public void process(int seqid, TProtocol iprot, TProtocol oprot) throws TException
-      {
-        get_slice_super_args args = new get_slice_super_args();
-        args.read(iprot);
-        iprot.readMessageEnd();
-        get_slice_super_result result = new get_slice_super_result();
-        try {
-          result.success = iface_.get_slice_super(args.keyspace, args.key, args.column_family, args.start, args.finish, args.is_ascending, args.count, args.consistency_level);
-        } catch (InvalidRequestException ire) {
-          result.ire = ire;
-        } catch (Throwable th) {
-          LOGGER.error("Internal error processing get_slice_super", th);
-          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing get_slice_super");
-          oprot.writeMessageBegin(new TMessage("get_slice_super", TMessageType.EXCEPTION, seqid));
-          x.write(oprot);
-          oprot.writeMessageEnd();
-          oprot.getTransport().flush();
-          return;
-        }
-        oprot.writeMessageBegin(new TMessage("get_slice_super", TMessageType.REPLY, seqid));
-        result.write(oprot);
-        oprot.writeMessageEnd();
-        oprot.getTransport().flush();
-      }
-
-    }
-
-    private class get_slice_super_by_names implements ProcessFunction {
-      public void process(int seqid, TProtocol iprot, TProtocol oprot) throws TException
-      {
-        get_slice_super_by_names_args args = new get_slice_super_by_names_args();
-        args.read(iprot);
-        iprot.readMessageEnd();
-        get_slice_super_by_names_result result = new get_slice_super_by_names_result();
-        try {
-          result.success = iface_.get_slice_super_by_names(args.keyspace, args.key, args.column_family, args.super_column_names, args.consistency_level);
-        } catch (InvalidRequestException ire) {
-          result.ire = ire;
-        } catch (Throwable th) {
-          LOGGER.error("Internal error processing get_slice_super_by_names", th);
-          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing get_slice_super_by_names");
-          oprot.writeMessageBegin(new TMessage("get_slice_super_by_names", TMessageType.EXCEPTION, seqid));
-          x.write(oprot);
-          oprot.writeMessageEnd();
-          oprot.getTransport().flush();
-          return;
-        }
-        oprot.writeMessageBegin(new TMessage("get_slice_super_by_names", TMessageType.REPLY, seqid));
-        result.write(oprot);
-        oprot.writeMessageEnd();
-        oprot.getTransport().flush();
-      }
-
-    }
-
-    private class get_super_column implements ProcessFunction {
-      public void process(int seqid, TProtocol iprot, TProtocol oprot) throws TException
-      {
-        get_super_column_args args = new get_super_column_args();
-        args.read(iprot);
-        iprot.readMessageEnd();
-        get_super_column_result result = new get_super_column_result();
-        try {
-          result.success = iface_.get_super_column(args.keyspace, args.key, args.super_column_path, args.consistency_level);
-        } catch (InvalidRequestException ire) {
-          result.ire = ire;
-        } catch (NotFoundException nfe) {
-          result.nfe = nfe;
-        } catch (Throwable th) {
-          LOGGER.error("Internal error processing get_super_column", th);
-          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing get_super_column");
-          oprot.writeMessageBegin(new TMessage("get_super_column", TMessageType.EXCEPTION, seqid));
-          x.write(oprot);
-          oprot.writeMessageEnd();
-          oprot.getTransport().flush();
-          return;
-        }
-        oprot.writeMessageBegin(new TMessage("get_super_column", TMessageType.REPLY, seqid));
-        result.write(oprot);
-        oprot.writeMessageEnd();
-        oprot.getTransport().flush();
-      }
-
-    }
-
     private class batch_insert_super_column implements ProcessFunction {
       public void process(int seqid, TProtocol iprot, TProtocol oprot) throws TException
       {
@@ -1190,12 +891,12 @@
 
   }
 
-  public static class get_slice_by_names_args implements TBase, java.io.Serializable, Cloneable   {
-    private static final TStruct STRUCT_DESC = new TStruct("get_slice_by_names_args");
+  public static class get_slice_args implements TBase, java.io.Serializable, Cloneable   {
+    private static final TStruct STRUCT_DESC = new TStruct("get_slice_args");
     private static final TField KEYSPACE_FIELD_DESC = new TField("keyspace", TType.STRING, (short)1);
     private static final TField KEY_FIELD_DESC = new TField("key", TType.STRING, (short)2);
     private static final TField COLUMN_PARENT_FIELD_DESC = new TField("column_parent", TType.STRUCT, (short)3);
-    private static final TField COLUMN_NAMES_FIELD_DESC = new TField("column_names", TType.LIST, (short)4);
+    private static final TField PREDICATE_FIELD_DESC = new TField("predicate", TType.STRUCT, (short)4);
     private static final TField CONSISTENCY_LEVEL_FIELD_DESC = new TField("consistency_level", TType.I32, (short)5);
 
     public String keyspace;
@@ -1204,8 +905,8 @@
     public static final int KEY = 2;
     public ColumnParent column_parent;
     public static final int COLUMN_PARENT = 3;
-    public List<byte[]> column_names;
-    public static final int COLUMN_NAMES = 4;
+    public SlicePredicate predicate;
+    public static final int PREDICATE = 4;
     public int consistency_level;
     public static final int CONSISTENCY_LEVEL = 5;
 
@@ -1221,34 +922,33 @@
           new FieldValueMetaData(TType.STRING)));
       put(COLUMN_PARENT, new FieldMetaData("column_parent", TFieldRequirementType.DEFAULT, 
           new StructMetaData(TType.STRUCT, ColumnParent.class)));
-      put(COLUMN_NAMES, new FieldMetaData("column_names", TFieldRequirementType.DEFAULT, 
-          new ListMetaData(TType.LIST, 
-              new FieldValueMetaData(TType.STRING))));
+      put(PREDICATE, new FieldMetaData("predicate", TFieldRequirementType.DEFAULT, 
+          new StructMetaData(TType.STRUCT, SlicePredicate.class)));
       put(CONSISTENCY_LEVEL, new FieldMetaData("consistency_level", TFieldRequirementType.DEFAULT, 
           new FieldValueMetaData(TType.I32)));
     }});
 
     static {
-      FieldMetaData.addStructMetaDataMap(get_slice_by_names_args.class, metaDataMap);
+      FieldMetaData.addStructMetaDataMap(get_slice_args.class, metaDataMap);
     }
 
-    public get_slice_by_names_args() {
+    public get_slice_args() {
       this.consistency_level = 1;
 
     }
 
-    public get_slice_by_names_args(
+    public get_slice_args(
       String keyspace,
       String key,
       ColumnParent column_parent,
-      List<byte[]> column_names,
+      SlicePredicate predicate,
       int consistency_level)
     {
       this();
       this.keyspace = keyspace;
       this.key = key;
       this.column_parent = column_parent;
-      this.column_names = column_names;
+      this.predicate = predicate;
       this.consistency_level = consistency_level;
       this.__isset.consistency_level = true;
     }
@@ -1256,7 +956,7 @@
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public get_slice_by_names_args(get_slice_by_names_args other) {
+    public get_slice_args(get_slice_args other) {
       if (other.isSetKeyspace()) {
         this.keyspace = other.keyspace;
       }
@@ -1266,22 +966,16 @@
       if (other.isSetColumn_parent()) {
         this.column_parent = new ColumnParent(other.column_parent);
       }
-      if (other.isSetColumn_names()) {
-        List<byte[]> __this__column_names = new ArrayList<byte[]>();
-        for (byte[] other_element : other.column_names) {
-          byte[] temp_binary_element = new byte[other_element.length];
-          System.arraycopy(other_element, 0, temp_binary_element, 0, other_element.length);
-          __this__column_names.add(temp_binary_element);
-        }
-        this.column_names = __this__column_names;
+      if (other.isSetPredicate()) {
+        this.predicate = new SlicePredicate(other.predicate);
       }
       __isset.consistency_level = other.__isset.consistency_level;
       this.consistency_level = other.consistency_level;
     }
 
     @Override
-    public get_slice_by_names_args clone() {
-      return new get_slice_by_names_args(this);
+    public get_slice_args clone() {
+      return new get_slice_args(this);
     }
 
     public String getKeyspace() {
@@ -1353,41 +1047,26 @@
       }
     }
 
-    public int getColumn_namesSize() {
-      return (this.column_names == null) ? 0 : this.column_names.size();
-    }
-
-    public java.util.Iterator<byte[]> getColumn_namesIterator() {
-      return (this.column_names == null) ? null : this.column_names.iterator();
-    }
-
-    public void addToColumn_names(byte[] elem) {
-      if (this.column_names == null) {
-        this.column_names = new ArrayList<byte[]>();
-      }
-      this.column_names.add(elem);
-    }
-
-    public List<byte[]> getColumn_names() {
-      return this.column_names;
+    public SlicePredicate getPredicate() {
+      return this.predicate;
     }
 
-    public void setColumn_names(List<byte[]> column_names) {
-      this.column_names = column_names;
+    public void setPredicate(SlicePredicate predicate) {
+      this.predicate = predicate;
     }
 
-    public void unsetColumn_names() {
-      this.column_names = null;
+    public void unsetPredicate() {
+      this.predicate = null;
     }
 
-    // Returns true if field column_names is set (has been asigned a value) and false otherwise
-    public boolean isSetColumn_names() {
-      return this.column_names != null;
+    // Returns true if field predicate is set (has been asigned a value) and false otherwise
+    public boolean isSetPredicate() {
+      return this.predicate != null;
     }
 
-    public void setColumn_namesIsSet(boolean value) {
+    public void setPredicateIsSet(boolean value) {
       if (!value) {
-        this.column_names = null;
+        this.predicate = null;
       }
     }
 
@@ -1439,11 +1118,11 @@
         }
         break;
 
-      case COLUMN_NAMES:
+      case PREDICATE:
         if (value == null) {
-          unsetColumn_names();
+          unsetPredicate();
         } else {
-          setColumn_names((List<byte[]>)value);
+          setPredicate((SlicePredicate)value);
         }
         break;
 
@@ -1471,8 +1150,8 @@
       case COLUMN_PARENT:
         return getColumn_parent();
 
-      case COLUMN_NAMES:
-        return getColumn_names();
+      case PREDICATE:
+        return getPredicate();
 
       case CONSISTENCY_LEVEL:
         return getConsistency_level();
@@ -1491,8 +1170,8 @@
         return isSetKey();
       case COLUMN_PARENT:
         return isSetColumn_parent();
-      case COLUMN_NAMES:
-        return isSetColumn_names();
+      case PREDICATE:
+        return isSetPredicate();
       case CONSISTENCY_LEVEL:
         return isSetConsistency_level();
       default:
@@ -1504,12 +1183,12 @@
     public boolean equals(Object that) {
       if (that == null)
         return false;
-      if (that instanceof get_slice_by_names_args)
-        return this.equals((get_slice_by_names_args)that);
+      if (that instanceof get_slice_args)
+        return this.equals((get_slice_args)that);
       return false;
     }
 
-    public boolean equals(get_slice_by_names_args that) {
+    public boolean equals(get_slice_args that) {
       if (that == null)
         return false;
 
@@ -1540,12 +1219,12 @@
           return false;
       }
 
-      boolean this_present_column_names = true && this.isSetColumn_names();
-      boolean that_present_column_names = true && that.isSetColumn_names();
-      if (this_present_column_names || that_present_column_names) {
-        if (!(this_present_column_names && that_present_column_names))
+      boolean this_present_predicate = true && this.isSetPredicate();
+      boolean that_present_predicate = true && that.isSetPredicate();
+      if (this_present_predicate || that_present_predicate) {
+        if (!(this_present_predicate && that_present_predicate))
           return false;
-        if (!this.column_names.equals(that.column_names))
+        if (!this.predicate.equals(that.predicate))
           return false;
       }
 
@@ -1599,19 +1278,10 @@
               TProtocolUtil.skip(iprot, field.type);
             }
             break;
-          case COLUMN_NAMES:
-            if (field.type == TType.LIST) {
-              {
-                TList _list31 = iprot.readListBegin();
-                this.column_names = new ArrayList<byte[]>(_list31.size);
-                for (int _i32 = 0; _i32 < _list31.size; ++_i32)
-                {
-                  byte[] _elem33;
-                  _elem33 = iprot.readBinary();
-                  this.column_names.add(_elem33);
-                }
-                iprot.readListEnd();
-              }
+          case PREDICATE:
+            if (field.type == TType.STRUCT) {
+              this.predicate = new SlicePredicate();
+              this.predicate.read(iprot);
             } else { 
               TProtocolUtil.skip(iprot, field.type);
             }
@@ -1656,15 +1326,9 @@
         this.column_parent.write(oprot);
         oprot.writeFieldEnd();
       }
-      if (this.column_names != null) {
-        oprot.writeFieldBegin(COLUMN_NAMES_FIELD_DESC);
-        {
-          oprot.writeListBegin(new TList(TType.STRING, this.column_names.size()));
-          for (byte[] _iter34 : this.column_names)          {
-            oprot.writeBinary(_iter34);
-          }
-          oprot.writeListEnd();
-        }
+      if (this.predicate != null) {
+        oprot.writeFieldBegin(PREDICATE_FIELD_DESC);
+        this.predicate.write(oprot);
         oprot.writeFieldEnd();
       }
       oprot.writeFieldBegin(CONSISTENCY_LEVEL_FIELD_DESC);
@@ -1676,7 +1340,7 @@
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("get_slice_by_names_args(");
+      StringBuilder sb = new StringBuilder("get_slice_args(");
       boolean first = true;
 
       sb.append("keyspace:");
@@ -1703,11 +1367,11 @@
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("column_names:");
-      if (this.column_names == null) {
+      sb.append("predicate:");
+      if (this.predicate == null) {
         sb.append("null");
       } else {
-        sb.append(this.column_names);
+        sb.append(this.predicate);
       }
       first = false;
       if (!first) sb.append(", ");
@@ -1736,13 +1400,13 @@
 
   }
 
-  public static class get_slice_by_names_result implements TBase, java.io.Serializable, Cloneable   {
-    private static final TStruct STRUCT_DESC = new TStruct("get_slice_by_names_result");
+  public static class get_slice_result implements TBase, java.io.Serializable, Cloneable   {
+    private static final TStruct STRUCT_DESC = new TStruct("get_slice_result");
     private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.LIST, (short)0);
     private static final TField IRE_FIELD_DESC = new TField("ire", TType.STRUCT, (short)1);
     private static final TField NFE_FIELD_DESC = new TField("nfe", TType.STRUCT, (short)2);
 
-    public List<Column> success;
+    public List<ColumnOrSuperColumn> success;
     public static final int SUCCESS = 0;
     public InvalidRequestException ire;
     public static final int IRE = 1;
@@ -1756,7 +1420,7 @@
     public static final Map<Integer, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new HashMap<Integer, FieldMetaData>() {{
       put(SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, 
           new ListMetaData(TType.LIST, 
-              new StructMetaData(TType.STRUCT, Column.class))));
+              new StructMetaData(TType.STRUCT, ColumnOrSuperColumn.class))));
       put(IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, 
           new FieldValueMetaData(TType.STRUCT)));
       put(NFE, new FieldMetaData("nfe", TFieldRequirementType.DEFAULT, 
@@ -1764,14 +1428,14 @@
     }});
 
     static {
-      FieldMetaData.addStructMetaDataMap(get_slice_by_names_result.class, metaDataMap);
+      FieldMetaData.addStructMetaDataMap(get_slice_result.class, metaDataMap);
     }
 
-    public get_slice_by_names_result() {
+    public get_slice_result() {
     }
 
-    public get_slice_by_names_result(
-      List<Column> success,
+    public get_slice_result(
+      List<ColumnOrSuperColumn> success,
       InvalidRequestException ire,
       NotFoundException nfe)
     {
@@ -1784,11 +1448,11 @@
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public get_slice_by_names_result(get_slice_by_names_result other) {
+    public get_slice_result(get_slice_result other) {
       if (other.isSetSuccess()) {
-        List<Column> __this__success = new ArrayList<Column>();
-        for (Column other_element : other.success) {
-          __this__success.add(new Column(other_element));
+        List<ColumnOrSuperColumn> __this__success = new ArrayList<ColumnOrSuperColumn>();
+        for (ColumnOrSuperColumn other_element : other.success) {
+          __this__success.add(new ColumnOrSuperColumn(other_element));
         }
         this.success = __this__success;
       }
@@ -1801,30 +1465,30 @@
     }
 
     @Override
-    public get_slice_by_names_result clone() {
-      return new get_slice_by_names_result(this);
+    public get_slice_result clone() {
+      return new get_slice_result(this);
     }
 
     public int getSuccessSize() {
       return (this.success == null) ? 0 : this.success.size();
     }
 
-    public java.util.Iterator<Column> getSuccessIterator() {
+    public java.util.Iterator<ColumnOrSuperColumn> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
 
-    public void addToSuccess(Column elem) {
+    public void addToSuccess(ColumnOrSuperColumn elem) {
       if (this.success == null) {
-        this.success = new ArrayList<Column>();
+        this.success = new ArrayList<ColumnOrSuperColumn>();
       }
       this.success.add(elem);
     }
 
-    public List<Column> getSuccess() {
+    public List<ColumnOrSuperColumn> getSuccess() {
       return this.success;
     }
 
-    public void setSuccess(List<Column> success) {
+    public void setSuccess(List<ColumnOrSuperColumn> success) {
       this.success = success;
     }
 
@@ -1895,7 +1559,7 @@
         if (value == null) {
           unsetSuccess();
         } else {
-          setSuccess((List<Column>)value);
+          setSuccess((List<ColumnOrSuperColumn>)value);
         }
         break;
 
@@ -1954,12 +1618,12 @@
     public boolean equals(Object that) {
       if (that == null)
         return false;
-      if (that instanceof get_slice_by_names_result)
-        return this.equals((get_slice_by_names_result)that);
+      if (that instanceof get_slice_result)
+        return this.equals((get_slice_result)that);
       return false;
     }
 
-    public boolean equals(get_slice_by_names_result that) {
+    public boolean equals(get_slice_result that) {
       if (that == null)
         return false;
 
@@ -2013,11 +1677,11 @@
             if (field.type == TType.LIST) {
               {
                 TList _list35 = iprot.readListBegin();
-                this.success = new ArrayList<Column>(_list35.size);
+                this.success = new ArrayList<ColumnOrSuperColumn>(_list35.size);
                 for (int _i36 = 0; _i36 < _list35.size; ++_i36)
                 {
-                  Column _elem37;
-                  _elem37 = new Column();
+                  ColumnOrSuperColumn _elem37;
+                  _elem37 = new ColumnOrSuperColumn();
                   _elem37.read(iprot);
                   this.success.add(_elem37);
                 }
@@ -2063,7 +1727,7 @@
         oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
         {
           oprot.writeListBegin(new TList(TType.STRUCT, this.success.size()));
-          for (Column _iter38 : this.success)          {
+          for (ColumnOrSuperColumn _iter38 : this.success)          {
             _iter38.write(oprot);
           }
           oprot.writeListEnd();
@@ -2084,7 +1748,7 @@
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("get_slice_by_names_result(");
+      StringBuilder sb = new StringBuilder("get_slice_result(");
       boolean first = true;
 
       sb.append("success:");
@@ -2121,38 +1785,24 @@
 
   }
 
-  public static class get_slice_args implements TBase, java.io.Serializable, Cloneable   {
-    private static final TStruct STRUCT_DESC = new TStruct("get_slice_args");
+  public static class get_args implements TBase, java.io.Serializable, Cloneable   {
+    private static final TStruct STRUCT_DESC = new TStruct("get_args");
     private static final TField KEYSPACE_FIELD_DESC = new TField("keyspace", TType.STRING, (short)1);
     private static final TField KEY_FIELD_DESC = new TField("key", TType.STRING, (short)2);
-    private static final TField COLUMN_PARENT_FIELD_DESC = new TField("column_parent", TType.STRUCT, (short)3);
-    private static final TField START_FIELD_DESC = new TField("start", TType.STRING, (short)4);
-    private static final TField FINISH_FIELD_DESC = new TField("finish", TType.STRING, (short)5);
-    private static final TField IS_ASCENDING_FIELD_DESC = new TField("is_ascending", TType.BOOL, (short)6);
-    private static final TField COUNT_FIELD_DESC = new TField("count", TType.I32, (short)7);
-    private static final TField CONSISTENCY_LEVEL_FIELD_DESC = new TField("consistency_level", TType.I32, (short)8);
+    private static final TField COLUMN_PATH_FIELD_DESC = new TField("column_path", TType.STRUCT, (short)3);
+    private static final TField CONSISTENCY_LEVEL_FIELD_DESC = new TField("consistency_level", TType.I32, (short)4);
 
     public String keyspace;
     public static final int KEYSPACE = 1;
     public String key;
     public static final int KEY = 2;
-    public ColumnParent column_parent;
-    public static final int COLUMN_PARENT = 3;
-    public byte[] start;
-    public static final int START = 4;
-    public byte[] finish;
-    public static final int FINISH = 5;
-    public boolean is_ascending;
-    public static final int IS_ASCENDING = 6;
-    public int count;
-    public static final int COUNT = 7;
+    public ColumnPath column_path;
+    public static final int COLUMN_PATH = 3;
     public int consistency_level;
-    public static final int CONSISTENCY_LEVEL = 8;
+    public static final int CONSISTENCY_LEVEL = 4;
 
     private final Isset __isset = new Isset();
     private static final class Isset implements java.io.Serializable {
-      public boolean is_ascending = false;
-      public boolean count = false;
       public boolean consistency_level = false;
     }
 
@@ -2161,51 +1811,31 @@
           new FieldValueMetaData(TType.STRING)));
       put(KEY, new FieldMetaData("key", TFieldRequirementType.DEFAULT, 
           new FieldValueMetaData(TType.STRING)));
-      put(COLUMN_PARENT, new FieldMetaData("column_parent", TFieldRequirementType.DEFAULT, 
-          new StructMetaData(TType.STRUCT, ColumnParent.class)));
-      put(START, new FieldMetaData("start", TFieldRequirementType.DEFAULT, 
-          new FieldValueMetaData(TType.STRING)));
-      put(FINISH, new FieldMetaData("finish", TFieldRequirementType.DEFAULT, 
-          new FieldValueMetaData(TType.STRING)));
-      put(IS_ASCENDING, new FieldMetaData("is_ascending", TFieldRequirementType.DEFAULT, 
-          new FieldValueMetaData(TType.BOOL)));
-      put(COUNT, new FieldMetaData("count", TFieldRequirementType.DEFAULT, 
-          new FieldValueMetaData(TType.I32)));
+      put(COLUMN_PATH, new FieldMetaData("column_path", TFieldRequirementType.DEFAULT, 
+          new StructMetaData(TType.STRUCT, ColumnPath.class)));
       put(CONSISTENCY_LEVEL, new FieldMetaData("consistency_level", TFieldRequirementType.DEFAULT, 
           new FieldValueMetaData(TType.I32)));
     }});
 
     static {
-      FieldMetaData.addStructMetaDataMap(get_slice_args.class, metaDataMap);
+      FieldMetaData.addStructMetaDataMap(get_args.class, metaDataMap);
     }
 
-    public get_slice_args() {
-      this.count = 100;
-
+    public get_args() {
       this.consistency_level = 1;
 
     }
 
-    public get_slice_args(
+    public get_args(
       String keyspace,
       String key,
-      ColumnParent column_parent,
-      byte[] start,
-      byte[] finish,
-      boolean is_ascending,
-      int count,
+      ColumnPath column_path,
       int consistency_level)
     {
       this();
       this.keyspace = keyspace;
       this.key = key;
-      this.column_parent = column_parent;
-      this.start = start;
-      this.finish = finish;
-      this.is_ascending = is_ascending;
-      this.__isset.is_ascending = true;
-      this.count = count;
-      this.__isset.count = true;
+      this.column_path = column_path;
       this.consistency_level = consistency_level;
       this.__isset.consistency_level = true;
     }
@@ -2213,35 +1843,23 @@
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public get_slice_args(get_slice_args other) {
+    public get_args(get_args other) {
       if (other.isSetKeyspace()) {
         this.keyspace = other.keyspace;
       }
       if (other.isSetKey()) {
         this.key = other.key;
       }
-      if (other.isSetColumn_parent()) {
-        this.column_parent = new ColumnParent(other.column_parent);
-      }
-      if (other.isSetStart()) {
-        this.start = new byte[other.start.length];
-        System.arraycopy(other.start, 0, start, 0, other.start.length);
-      }
-      if (other.isSetFinish()) {
-        this.finish = new byte[other.finish.length];
-        System.arraycopy(other.finish, 0, finish, 0, other.finish.length);
+      if (other.isSetColumn_path()) {
+        this.column_path = new ColumnPath(other.column_path);
       }
-      __isset.is_ascending = other.__isset.is_ascending;
-      this.is_ascending = other.is_ascending;
-      __isset.count = other.__isset.count;
-      this.count = other.count;
       __isset.consistency_level = other.__isset.consistency_level;
       this.consistency_level = other.consistency_level;
     }
 
     @Override
-    public get_slice_args clone() {
-      return new get_slice_args(this);
+    public get_args clone() {
+      return new get_args(this);
     }
 
     public String getKeyspace() {
@@ -2290,119 +1908,29 @@
       }
     }
 
-    public ColumnParent getColumn_parent() {
-      return this.column_parent;
-    }
-
-    public void setColumn_parent(ColumnParent column_parent) {
-      this.column_parent = column_parent;
-    }
-
-    public void unsetColumn_parent() {
-      this.column_parent = null;
-    }
-
-    // Returns true if field column_parent is set (has been asigned a value) and false otherwise
-    public boolean isSetColumn_parent() {
-      return this.column_parent != null;
-    }
-
-    public void setColumn_parentIsSet(boolean value) {
-      if (!value) {
-        this.column_parent = null;
-      }
-    }
-
-    public byte[] getStart() {
-      return this.start;
-    }
-
-    public void setStart(byte[] start) {
-      this.start = start;
-    }
-
-    public void unsetStart() {
-      this.start = null;
-    }
-
-    // Returns true if field start is set (has been asigned a value) and false otherwise
-    public boolean isSetStart() {
-      return this.start != null;
-    }
-
-    public void setStartIsSet(boolean value) {
-      if (!value) {
-        this.start = null;
-      }
-    }
-
-    public byte[] getFinish() {
-      return this.finish;
+    public ColumnPath getColumn_path() {
+      return this.column_path;
     }
 
-    public void setFinish(byte[] finish) {
-      this.finish = finish;
+    public void setColumn_path(ColumnPath column_path) {
+      this.column_path = column_path;
     }
 
-    public void unsetFinish() {
-      this.finish = null;
+    public void unsetColumn_path() {
+      this.column_path = null;
     }
 
-    // Returns true if field finish is set (has been asigned a value) and false otherwise
-    public boolean isSetFinish() {
-      return this.finish != null;
+    // Returns true if field column_path is set (has been asigned a value) and false otherwise
+    public boolean isSetColumn_path() {
+      return this.column_path != null;
     }
 
-    public void setFinishIsSet(boolean value) {
+    public void setColumn_pathIsSet(boolean value) {
       if (!value) {
-        this.finish = null;
+        this.column_path = null;
       }
     }
 
-    public boolean isIs_ascending() {
-      return this.is_ascending;
-    }
-
-    public void setIs_ascending(boolean is_ascending) {
-      this.is_ascending = is_ascending;
-      this.__isset.is_ascending = true;
-    }
-
-    public void unsetIs_ascending() {
-      this.__isset.is_ascending = false;
-    }
-
-    // Returns true if field is_ascending is set (has been asigned a value) and false otherwise
-    public boolean isSetIs_ascending() {
-      return this.__isset.is_ascending;
-    }
-
-    public void setIs_ascendingIsSet(boolean value) {
-      this.__isset.is_ascending = value;
-    }
-
-    public int getCount() {
-      return this.count;
-    }
-
-    public void setCount(int count) {
-      this.count = count;
-      this.__isset.count = true;
-    }
-
-    public void unsetCount() {
-      this.__isset.count = false;
-    }
-
-    // Returns true if field count is set (has been asigned a value) and false otherwise
-    public boolean isSetCount() {
-      return this.__isset.count;
-    }
-
-    public void setCountIsSet(boolean value) {
-      this.__isset.count = value;
-    }
-
     public int getConsistency_level() {
       return this.consistency_level;
     }
@@ -2443,43 +1971,11 @@
         }
         break;
 
-      case COLUMN_PARENT:
-        if (value == null) {
-          unsetColumn_parent();
-        } else {
-          setColumn_parent((ColumnParent)value);
-        }
-        break;
-
-      case START:
-        if (value == null) {
-          unsetStart();
-        } else {
-          setStart((byte[])value);
-        }
-        break;
-
-      case FINISH:
-        if (value == null) {
-          unsetFinish();
-        } else {
-          setFinish((byte[])value);
-        }
-        break;
-
-      case IS_ASCENDING:
-        if (value == null) {
-          unsetIs_ascending();
-        } else {
-          setIs_ascending((Boolean)value);
-        }
-        break;
-
-      case COUNT:
+      case COLUMN_PATH:
         if (value == null) {
-          unsetCount();
+          unsetColumn_path();
         } else {
-          setCount((Integer)value);
+          setColumn_path((ColumnPath)value);
         }
         break;
 
@@ -2504,20 +2000,8 @@
       case KEY:
         return getKey();
 
-      case COLUMN_PARENT:
-        return getColumn_parent();
-
-      case START:
-        return getStart();
-
-      case FINISH:
-        return getFinish();
-
-      case IS_ASCENDING:
-        return new Boolean(isIs_ascending());
-
-      case COUNT:
-        return new Integer(getCount());
+      case COLUMN_PATH:
+        return getColumn_path();
 
       case CONSISTENCY_LEVEL:
         return getConsistency_level();
@@ -2534,16 +2018,8 @@
         return isSetKeyspace();
       case KEY:
         return isSetKey();
-      case COLUMN_PARENT:
-        return isSetColumn_parent();
-      case START:
-        return isSetStart();
-      case FINISH:
-        return isSetFinish();
-      case IS_ASCENDING:
-        return isSetIs_ascending();
-      case COUNT:
-        return isSetCount();
+      case COLUMN_PATH:
+        return isSetColumn_path();
       case CONSISTENCY_LEVEL:
         return isSetConsistency_level();
       default:
@@ -2555,12 +2031,12 @@
     public boolean equals(Object that) {
       if (that == null)
         return false;
-      if (that instanceof get_slice_args)
-        return this.equals((get_slice_args)that);
+      if (that instanceof get_args)
+        return this.equals((get_args)that);
       return false;
     }
 
-    public boolean equals(get_slice_args that) {
+    public boolean equals(get_args that) {
       if (that == null)
         return false;
 
@@ -2582,48 +2058,12 @@
           return false;
       }
 
-      boolean this_present_column_parent = true && this.isSetColumn_parent();
-      boolean that_present_column_parent = true && that.isSetColumn_parent();
-      if (this_present_column_parent || that_present_column_parent) {
-        if (!(this_present_column_parent && that_present_column_parent))
-          return false;
-        if (!this.column_parent.equals(that.column_parent))
-          return false;
-      }
-
-      boolean this_present_start = true && this.isSetStart();
-      boolean that_present_start = true && that.isSetStart();
-      if (this_present_start || that_present_start) {
-        if (!(this_present_start && that_present_start))
-          return false;
-        if (!java.util.Arrays.equals(this.start, that.start))
-          return false;
-      }
-
-      boolean this_present_finish = true && this.isSetFinish();
-      boolean that_present_finish = true && that.isSetFinish();
-      if (this_present_finish || that_present_finish) {
-        if (!(this_present_finish && that_present_finish))
-          return false;
-        if (!java.util.Arrays.equals(this.finish, that.finish))
-          return false;
-      }
-
-      boolean this_present_is_ascending = true;
-      boolean that_present_is_ascending = true;
-      if (this_present_is_ascending || that_present_is_ascending) {
-        if (!(this_present_is_ascending && that_present_is_ascending))
-          return false;
-        if (this.is_ascending != that.is_ascending)
-          return false;
-      }
-
-      boolean this_present_count = true;
-      boolean that_present_count = true;
-      if (this_present_count || that_present_count) {
-        if (!(this_present_count && that_present_count))
+      boolean this_present_column_path = true && this.isSetColumn_path();
+      boolean that_present_column_path = true && that.isSetColumn_path();
+      if (this_present_column_path || that_present_column_path) {
+        if (!(this_present_column_path && that_present_column_path))
           return false;
-        if (this.count != that.count)
+        if (!this.column_path.equals(that.column_path))
           return false;
       }
 
@@ -2669,40 +2109,10 @@
               TProtocolUtil.skip(iprot, field.type);
             }
             break;
-          case COLUMN_PARENT:
+          case COLUMN_PATH:
             if (field.type == TType.STRUCT) {
-              this.column_parent = new ColumnParent();
-              this.column_parent.read(iprot);
-            } else { 
-              TProtocolUtil.skip(iprot, field.type);
-            }
-            break;
-          case START:
-            if (field.type == TType.STRING) {
-              this.start = iprot.readBinary();
-            } else { 
-              TProtocolUtil.skip(iprot, field.type);
-            }
-            break;
-          case FINISH:
-            if (field.type == TType.STRING) {
-              this.finish = iprot.readBinary();
-            } else { 
-              TProtocolUtil.skip(iprot, field.type);
-            }
-            break;
-          case IS_ASCENDING:
-            if (field.type == TType.BOOL) {
-              this.is_ascending = iprot.readBool();
-              this.__isset.is_ascending = true;
-            } else { 
-              TProtocolUtil.skip(iprot, field.type);
-            }
-            break;
-          case COUNT:
-            if (field.type == TType.I32) {
-              this.count = iprot.readI32();
-              this.__isset.count = true;
+              this.column_path = new ColumnPath();
+              this.column_path.read(iprot);
             } else { 
               TProtocolUtil.skip(iprot, field.type);
             }
@@ -2742,27 +2152,11 @@
         oprot.writeString(this.key);
         oprot.writeFieldEnd();
       }
-      if (this.column_parent != null) {
-        oprot.writeFieldBegin(COLUMN_PARENT_FIELD_DESC);
-        this.column_parent.write(oprot);
-        oprot.writeFieldEnd();
-      }
-      if (this.start != null) {
-        oprot.writeFieldBegin(START_FIELD_DESC);
-        oprot.writeBinary(this.start);
-        oprot.writeFieldEnd();
-      }
-      if (this.finish != null) {
-        oprot.writeFieldBegin(FINISH_FIELD_DESC);
-        oprot.writeBinary(this.finish);
+      if (this.column_path != null) {
+        oprot.writeFieldBegin(COLUMN_PATH_FIELD_DESC);
+        this.column_path.write(oprot);
         oprot.writeFieldEnd();
       }
-      oprot.writeFieldBegin(IS_ASCENDING_FIELD_DESC);
-      oprot.writeBool(this.is_ascending);
-      oprot.writeFieldEnd();
-      oprot.writeFieldBegin(COUNT_FIELD_DESC);
-      oprot.writeI32(this.count);
-      oprot.writeFieldEnd();
       oprot.writeFieldBegin(CONSISTENCY_LEVEL_FIELD_DESC);
       oprot.writeI32(this.consistency_level);
       oprot.writeFieldEnd();
@@ -2772,7 +2166,7 @@
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("get_slice_args(");
+      StringBuilder sb = new StringBuilder("get_args(");
       boolean first = true;
 
       sb.append("keyspace:");
@@ -2791,48 +2185,14 @@
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("column_parent:");
-      if (this.column_parent == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.column_parent);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("start:");
-      if (this.start == null) {
-        sb.append("null");
-      } else {
-          int __start_size = Math.min(this.start.length, 128);
-          for (int i = 0; i < __start_size; i++) {
-            if (i != 0) sb.append(" ");
-            sb.append(Integer.toHexString(this.start[i]).length() > 1 ? Integer.toHexString(this.start[i]).substring(Integer.toHexString(this.start[i]).length() - 2).toUpperCase() : "0" + Integer.toHexString(this.start[i]).toUpperCase());
-          }
-          if (this.start.length > 128) sb.append(" ...");
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("finish:");
-      if (this.finish == null) {
+      sb.append("column_path:");
+      if (this.column_path == null) {
         sb.append("null");
       } else {
-          int __finish_size = Math.min(this.finish.length, 128);
-          for (int i = 0; i < __finish_size; i++) {
-            if (i != 0) sb.append(" ");
-            sb.append(Integer.toHexString(this.finish[i]).length() > 1 ? Integer.toHexString(this.finish[i]).substring(Integer.toHexString(this.finish[i]).length() - 2).toUpperCase() : "0" + Integer.toHexString(this.finish[i]).toUpperCase());
-          }
-          if (this.finish.length > 128) sb.append(" ...");
+        sb.append(this.column_path);
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("is_ascending:");
-      sb.append(this.is_ascending);
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("count:");
-      sb.append(this.count);
-      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) {
@@ -2858,13 +2218,13 @@
 
   }
 
-  public static class get_slice_result implements TBase, java.io.Serializable, Cloneable   {
-    private static final TStruct STRUCT_DESC = new TStruct("get_slice_result");
-    private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.LIST, (short)0);
+  public static class get_result implements TBase, java.io.Serializable, Cloneable   {
+    private static final TStruct STRUCT_DESC = new TStruct("get_result");
+    private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.STRUCT, (short)0);
     private static final TField IRE_FIELD_DESC = new TField("ire", TType.STRUCT, (short)1);
     private static final TField NFE_FIELD_DESC = new TField("nfe", TType.STRUCT, (short)2);
 
-    public List<Column> success;
+    public ColumnOrSuperColumn success;
     public static final int SUCCESS = 0;
     public InvalidRequestException ire;
     public static final int IRE = 1;
@@ -2877,8 +2237,7 @@
 
     public static final Map<Integer, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new HashMap<Integer, FieldMetaData>() {{
       put(SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, 
-          new ListMetaData(TType.LIST, 
-              new StructMetaData(TType.STRUCT, Column.class))));
+          new StructMetaData(TType.STRUCT, ColumnOrSuperColumn.class)));
       put(IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, 
           new FieldValueMetaData(TType.STRUCT)));
       put(NFE, new FieldMetaData("nfe", TFieldRequirementType.DEFAULT, 
@@ -2886,14 +2245,14 @@
     }});
 
     static {
-      FieldMetaData.addStructMetaDataMap(get_slice_result.class, metaDataMap);
+      FieldMetaData.addStructMetaDataMap(get_result.class, metaDataMap);
     }
 
-    public get_slice_result() {
+    public get_result() {
     }
 
-    public get_slice_result(
-      List<Column> success,
+    public get_result(
+      ColumnOrSuperColumn success,
       InvalidRequestException ire,
       NotFoundException nfe)
     {
@@ -2906,13 +2265,9 @@
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public get_slice_result(get_slice_result other) {
+    public get_result(get_result other) {
       if (other.isSetSuccess()) {
-        List<Column> __this__success = new ArrayList<Column>();
-        for (Column other_element : other.success) {
-          __this__success.add(new Column(other_element));
-        }
-        this.success = __this__success;
+        this.success = new ColumnOrSuperColumn(other.success);
       }
       if (other.isSetIre()) {
         this.ire = new InvalidRequestException(other.ire);
@@ -2923,30 +2278,15 @@
     }
 
     @Override
-    public get_slice_result clone() {
-      return new get_slice_result(this);
-    }
-
-    public int getSuccessSize() {
-      return (this.success == null) ? 0 : this.success.size();
-    }
-
-    public java.util.Iterator<Column> getSuccessIterator() {
-      return (this.success == null) ? null : this.success.iterator();
-    }
-
-    public void addToSuccess(Column elem) {
-      if (this.success == null) {
-        this.success = new ArrayList<Column>();
-      }
-      this.success.add(elem);
+    public get_result clone() {
+      return new get_result(this);
     }
 
-    public List<Column> getSuccess() {
+    public ColumnOrSuperColumn getSuccess() {
       return this.success;
     }
 
-    public void setSuccess(List<Column> success) {
+    public void setSuccess(ColumnOrSuperColumn success) {
       this.success = success;
     }
 
@@ -3017,7 +2357,7 @@
         if (value == null) {
           unsetSuccess();
         } else {
-          setSuccess((List<Column>)value);
+          setSuccess((ColumnOrSuperColumn)value);
         }
         break;
 
@@ -3076,12 +2416,12 @@
     public boolean equals(Object that) {
       if (that == null)
         return false;
-      if (that instanceof get_slice_result)
-        return this.equals((get_slice_result)that);
+      if (that instanceof get_result)
+        return this.equals((get_result)that);
       return false;
     }
 
-    public boolean equals(get_slice_result that) {
+    public boolean equals(get_result that) {
       if (that == null)
         return false;
 
@@ -3132,19 +2472,9 @@
         switch (field.id)
         {
           case SUCCESS:
-            if (field.type == TType.LIST) {
-              {
-                TList _list39 = iprot.readListBegin();
-                this.success = new ArrayList<Column>(_list39.size);
-                for (int _i40 = 0; _i40 < _list39.size; ++_i40)
-                {
-                  Column _elem41;
-                  _elem41 = new Column();
-                  _elem41.read(iprot);
-                  this.success.add(_elem41);
-                }
-                iprot.readListEnd();
-              }
+            if (field.type == TType.STRUCT) {
+              this.success = new ColumnOrSuperColumn();
+              this.success.read(iprot);
             } else { 
               TProtocolUtil.skip(iprot, field.type);
             }
@@ -3183,13 +2513,7 @@
 
       if (this.isSetSuccess()) {
         oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-        {
-          oprot.writeListBegin(new TList(TType.STRUCT, this.success.size()));
-          for (Column _iter42 : this.success)          {
-            _iter42.write(oprot);
-          }
-          oprot.writeListEnd();
-        }
+        this.success.write(oprot);
         oprot.writeFieldEnd();
       } else if (this.isSetIre()) {
         oprot.writeFieldBegin(IRE_FIELD_DESC);
@@ -3206,7 +2530,7 @@
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("get_slice_result(");
+      StringBuilder sb = new StringBuilder("get_result(");
       boolean first = true;
 
       sb.append("success:");
@@ -3243,21 +2567,21 @@
 
   }
 
-  public static class get_column_args implements TBase, java.io.Serializable, Cloneable   {
-    private static final TStruct STRUCT_DESC = new TStruct("get_column_args");
+  public static class get_count_args implements TBase, java.io.Serializable, Cloneable   {
+    private static final TStruct STRUCT_DESC = new TStruct("get_count_args");
     private static final TField KEYSPACE_FIELD_DESC = new TField("keyspace", TType.STRING, (short)1);
     private static final TField KEY_FIELD_DESC = new TField("key", TType.STRING, (short)2);
-    private static final TField COLUMN_PATH_FIELD_DESC = new TField("column_path", TType.STRUCT, (short)3);
-    private static final TField CONSISTENCY_LEVEL_FIELD_DESC = new TField("consistency_level", TType.I32, (short)4);
+    private static final TField COLUMN_PARENT_FIELD_DESC = new TField("column_parent", TType.STRUCT, (short)3);
+    private static final TField CONSISTENCY_LEVEL_FIELD_DESC = new TField("consistency_level", TType.I32, (short)5);
 
     public String keyspace;
     public static final int KEYSPACE = 1;
     public String key;
     public static final int KEY = 2;
-    public ColumnPath column_path;
-    public static final int COLUMN_PATH = 3;
+    public ColumnParent column_parent;
+    public static final int COLUMN_PARENT = 3;
     public int consistency_level;
-    public static final int CONSISTENCY_LEVEL = 4;
+    public static final int CONSISTENCY_LEVEL = 5;
 
     private final Isset __isset = new Isset();
     private static final class Isset implements java.io.Serializable {
@@ -3269,31 +2593,31 @@
           new FieldValueMetaData(TType.STRING)));
       put(KEY, new FieldMetaData("key", TFieldRequirementType.DEFAULT, 
           new FieldValueMetaData(TType.STRING)));
-      put(COLUMN_PATH, new FieldMetaData("column_path", TFieldRequirementType.DEFAULT, 
-          new StructMetaData(TType.STRUCT, ColumnPath.class)));
+      put(COLUMN_PARENT, new FieldMetaData("column_parent", TFieldRequirementType.DEFAULT, 
+          new StructMetaData(TType.STRUCT, ColumnParent.class)));
       put(CONSISTENCY_LEVEL, new FieldMetaData("consistency_level", TFieldRequirementType.DEFAULT, 
           new FieldValueMetaData(TType.I32)));
     }});
 
     static {
-      FieldMetaData.addStructMetaDataMap(get_column_args.class, metaDataMap);
+      FieldMetaData.addStructMetaDataMap(get_count_args.class, metaDataMap);
     }
 
-    public get_column_args() {
+    public get_count_args() {
       this.consistency_level = 1;
 
     }
 
-    public get_column_args(
+    public get_count_args(
       String keyspace,
       String key,
-      ColumnPath column_path,
+      ColumnParent column_parent,
       int consistency_level)
     {
       this();
       this.keyspace = keyspace;
       this.key = key;
-      this.column_path = column_path;
+      this.column_parent = column_parent;
       this.consistency_level = consistency_level;
       this.__isset.consistency_level = true;
     }
@@ -3301,23 +2625,23 @@
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public get_column_args(get_column_args other) {
+    public get_count_args(get_count_args other) {
       if (other.isSetKeyspace()) {
         this.keyspace = other.keyspace;
       }
       if (other.isSetKey()) {
         this.key = other.key;
       }
-      if (other.isSetColumn_path()) {
-        this.column_path = new ColumnPath(other.column_path);
+      if (other.isSetColumn_parent()) {
+        this.column_parent = new ColumnParent(other.column_parent);
       }
       __isset.consistency_level = other.__isset.consistency_level;
       this.consistency_level = other.consistency_level;
     }
 
     @Override
-    public get_column_args clone() {
-      return new get_column_args(this);
+    public get_count_args clone() {
+      return new get_count_args(this);
     }
 
     public String getKeyspace() {
@@ -3366,26 +2690,26 @@
       }
     }
 
-    public ColumnPath getColumn_path() {
-      return this.column_path;
+    public ColumnParent getColumn_parent() {
+      return this.column_parent;
     }
 
-    public void setColumn_path(ColumnPath column_path) {
-      this.column_path = column_path;
+    public void setColumn_parent(ColumnParent column_parent) {
+      this.column_parent = column_parent;
     }
 
-    public void unsetColumn_path() {
-      this.column_path = null;
+    public void unsetColumn_parent() {
+      this.column_parent = null;
     }
 
-    // Returns true if field column_path is set (has been asigned a value) and false otherwise
-    public boolean isSetColumn_path() {
-      return this.column_path != null;
+    // Returns true if field column_parent is set (has been asigned a value) and false otherwise
+    public boolean isSetColumn_parent() {
+      return this.column_parent != null;
     }
 
-    public void setColumn_pathIsSet(boolean value) {
+    public void setColumn_parentIsSet(boolean value) {
       if (!value) {
-        this.column_path = null;
+        this.column_parent = null;
       }
     }
 
@@ -3429,11 +2753,11 @@
         }
         break;
 
-      case COLUMN_PATH:
+      case COLUMN_PARENT:
         if (value == null) {
-          unsetColumn_path();
+          unsetColumn_parent();
         } else {
-          setColumn_path((ColumnPath)value);
+          setColumn_parent((ColumnParent)value);
         }
         break;
 
@@ -3458,8 +2782,8 @@
       case KEY:
         return getKey();
 
-      case COLUMN_PATH:
-        return getColumn_path();
+      case COLUMN_PARENT:
+        return getColumn_parent();
 
       case CONSISTENCY_LEVEL:
         return getConsistency_level();
@@ -3476,8 +2800,8 @@
         return isSetKeyspace();
       case KEY:
         return isSetKey();
-      case COLUMN_PATH:
-        return isSetColumn_path();
+      case COLUMN_PARENT:
+        return isSetColumn_parent();
       case CONSISTENCY_LEVEL:
         return isSetConsistency_level();
       default:
@@ -3489,12 +2813,12 @@
     public boolean equals(Object that) {
       if (that == null)
         return false;
-      if (that instanceof get_column_args)
-        return this.equals((get_column_args)that);
+      if (that instanceof get_count_args)
+        return this.equals((get_count_args)that);
       return false;
     }
 
-    public boolean equals(get_column_args that) {
+    public boolean equals(get_count_args that) {
       if (that == null)
         return false;
 
@@ -3516,12 +2840,12 @@
           return false;
       }
 
-      boolean this_present_column_path = true && this.isSetColumn_path();
-      boolean that_present_column_path = true && that.isSetColumn_path();
-      if (this_present_column_path || that_present_column_path) {
-        if (!(this_present_column_path && that_present_column_path))
+      boolean this_present_column_parent = true && this.isSetColumn_parent();
+      boolean that_present_column_parent = true && that.isSetColumn_parent();
+      if (this_present_column_parent || that_present_column_parent) {
+        if (!(this_present_column_parent && that_present_column_parent))
           return false;
-        if (!this.column_path.equals(that.column_path))
+        if (!this.column_parent.equals(that.column_parent))
           return false;
       }
 
@@ -3567,10 +2891,10 @@
               TProtocolUtil.skip(iprot, field.type);
             }
             break;
-          case COLUMN_PATH:
+          case COLUMN_PARENT:
             if (field.type == TType.STRUCT) {
-              this.column_path = new ColumnPath();
-              this.column_path.read(iprot);
+              this.column_parent = new ColumnParent();
+              this.column_parent.read(iprot);
             } else { 
               TProtocolUtil.skip(iprot, field.type);
             }
@@ -3610,9 +2934,9 @@
         oprot.writeString(this.key);
         oprot.writeFieldEnd();
       }
-      if (this.column_path != null) {
-        oprot.writeFieldBegin(COLUMN_PATH_FIELD_DESC);
-        this.column_path.write(oprot);
+      if (this.column_parent != null) {
+        oprot.writeFieldBegin(COLUMN_PARENT_FIELD_DESC);
+        this.column_parent.write(oprot);
         oprot.writeFieldEnd();
       }
       oprot.writeFieldBegin(CONSISTENCY_LEVEL_FIELD_DESC);
@@ -3624,7 +2948,7 @@
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("get_column_args(");
+      StringBuilder sb = new StringBuilder("get_count_args(");
       boolean first = true;
 
       sb.append("keyspace:");
@@ -3643,11 +2967,11 @@
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("column_path:");
-      if (this.column_path == null) {
+      sb.append("column_parent:");
+      if (this.column_parent == null) {
         sb.append("null");
       } else {
-        sb.append(this.column_path);
+        sb.append(this.column_parent);
       }
       first = false;
       if (!first) sb.append(", ");
@@ -3676,91 +3000,81 @@
 
   }
 
-  public static class get_column_result implements TBase, java.io.Serializable, Cloneable   {
-    private static final TStruct STRUCT_DESC = new TStruct("get_column_result");
-    private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.STRUCT, (short)0);
+  public static class get_count_result implements TBase, java.io.Serializable, Cloneable   {
+    private static final TStruct STRUCT_DESC = new TStruct("get_count_result");
+    private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.I32, (short)0);
     private static final TField IRE_FIELD_DESC = new TField("ire", TType.STRUCT, (short)1);
-    private static final TField NFE_FIELD_DESC = new TField("nfe", TType.STRUCT, (short)2);
 
-    public Column success;
+    public int success;
     public static final int SUCCESS = 0;
     public InvalidRequestException ire;
     public static final int IRE = 1;
-    public NotFoundException nfe;
-    public static final int NFE = 2;
 
     private final Isset __isset = new Isset();
     private static final class Isset implements java.io.Serializable {
+      public boolean success = false;
     }
 
     public static final Map<Integer, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new HashMap<Integer, FieldMetaData>() {{
       put(SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, 
-          new StructMetaData(TType.STRUCT, Column.class)));
+          new FieldValueMetaData(TType.I32)));
       put(IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, 
           new FieldValueMetaData(TType.STRUCT)));
-      put(NFE, new FieldMetaData("nfe", TFieldRequirementType.DEFAULT, 
-          new FieldValueMetaData(TType.STRUCT)));
     }});
 
     static {
-      FieldMetaData.addStructMetaDataMap(get_column_result.class, metaDataMap);
+      FieldMetaData.addStructMetaDataMap(get_count_result.class, metaDataMap);
     }
 
-    public get_column_result() {
+    public get_count_result() {
     }
 
-    public get_column_result(
-      Column success,
-      InvalidRequestException ire,
-      NotFoundException nfe)
+    public get_count_result(
+      int success,
+      InvalidRequestException ire)
     {
       this();
       this.success = success;
+      this.__isset.success = true;
       this.ire = ire;
-      this.nfe = nfe;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public get_column_result(get_column_result other) {
-      if (other.isSetSuccess()) {
-        this.success = new Column(other.success);
-      }
+    public get_count_result(get_count_result other) {
+      __isset.success = other.__isset.success;
+      this.success = other.success;
       if (other.isSetIre()) {
         this.ire = new InvalidRequestException(other.ire);
       }
-      if (other.isSetNfe()) {
-        this.nfe = new NotFoundException(other.nfe);
-      }
     }
 
     @Override
-    public get_column_result clone() {
-      return new get_column_result(this);
+    public get_count_result clone() {
+      return new get_count_result(this);
     }
 
-    public Column getSuccess() {
+    public int getSuccess() {
       return this.success;
     }
 
-    public void setSuccess(Column success) {
+    public void setSuccess(int success) {
       this.success = success;
+      this.__isset.success = true;
     }
 
     public void unsetSuccess() {
-      this.success = null;
+      this.__isset.success = false;
     }
 
     // Returns true if field success is set (has been asigned a value) and false otherwise
     public boolean isSetSuccess() {
-      return this.success != null;
+      return this.__isset.success;
     }
 
     public void setSuccessIsSet(boolean value) {
-      if (!value) {
-        this.success = null;
-      }
+      this.__isset.success = value;
     }
 
     public InvalidRequestException getIre() {
@@ -3786,38 +3100,15 @@
       }
     }
 
-    public NotFoundException getNfe() {
-      return this.nfe;
-    }
-
-    public void setNfe(NotFoundException nfe) {
-      this.nfe = nfe;
-    }
-
-    public void unsetNfe() {
-      this.nfe = null;
-    }
-
-    // Returns true if field nfe is set (has been asigned a value) and false otherwise
-    public boolean isSetNfe() {
-      return this.nfe != null;
-    }
-
-    public void setNfeIsSet(boolean value) {
-      if (!value) {
-        this.nfe = null;
-      }
-    }
-
-    public void setFieldValue(int fieldID, Object value) {
-      switch (fieldID) {
-      case SUCCESS:
-        if (value == null) {
-          unsetSuccess();
-        } else {
-          setSuccess((Column)value);
-        }
-        break;
+    public void setFieldValue(int fieldID, Object value) {
+      switch (fieldID) {
+      case SUCCESS:
+        if (value == null) {
+          unsetSuccess();
+        } else {
+          setSuccess((Integer)value);
+        }
+        break;
 
       case IRE:
         if (value == null) {
@@ -3827,14 +3118,6 @@
         }
         break;
 
-      case NFE:
-        if (value == null) {
-          unsetNfe();
-        } else {
-          setNfe((NotFoundException)value);
-        }
-        break;
-
       default:
         throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
       }
@@ -3843,14 +3126,11 @@
     public Object getFieldValue(int fieldID) {
       switch (fieldID) {
       case SUCCESS:
-        return getSuccess();
+        return new Integer(getSuccess());
 
       case IRE:
         return getIre();
 
-      case NFE:
-        return getNfe();
-
       default:
         throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
       }
@@ -3863,8 +3143,6 @@
         return isSetSuccess();
       case IRE:
         return isSetIre();
-      case NFE:
-        return isSetNfe();
       default:
         throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
       }
@@ -3874,21 +3152,21 @@
     public boolean equals(Object that) {
       if (that == null)
         return false;
-      if (that instanceof get_column_result)
-        return this.equals((get_column_result)that);
+      if (that instanceof get_count_result)
+        return this.equals((get_count_result)that);
       return false;
     }
 
-    public boolean equals(get_column_result that) {
+    public boolean equals(get_count_result that) {
       if (that == null)
         return false;
 
-      boolean this_present_success = true && this.isSetSuccess();
-      boolean that_present_success = true && that.isSetSuccess();
+      boolean this_present_success = true;
+      boolean that_present_success = true;
       if (this_present_success || that_present_success) {
         if (!(this_present_success && that_present_success))
           return false;
-        if (!this.success.equals(that.success))
+        if (this.success != that.success)
           return false;
       }
 
@@ -3901,15 +3179,6 @@
           return false;
       }
 
-      boolean this_present_nfe = true && this.isSetNfe();
-      boolean that_present_nfe = true && that.isSetNfe();
-      if (this_present_nfe || that_present_nfe) {
-        if (!(this_present_nfe && that_present_nfe))
-          return false;
-        if (!this.nfe.equals(that.nfe))
-          return false;
-      }
-
       return true;
     }
 
@@ -3930,9 +3199,9 @@
         switch (field.id)
         {
           case SUCCESS:
-            if (field.type == TType.STRUCT) {
-              this.success = new Column();
-              this.success.read(iprot);
+            if (field.type == TType.I32) {
+              this.success = iprot.readI32();
+              this.__isset.success = true;
             } else { 
               TProtocolUtil.skip(iprot, field.type);
             }
@@ -3945,14 +3214,6 @@
               TProtocolUtil.skip(iprot, field.type);
             }
             break;
-          case NFE:
-            if (field.type == TType.STRUCT) {
-              this.nfe = new NotFoundException();
-              this.nfe.read(iprot);
-            } else { 
-              TProtocolUtil.skip(iprot, field.type);
-            }
-            break;
           default:
             TProtocolUtil.skip(iprot, field.type);
             break;
@@ -3971,16 +3232,12 @@
 
       if (this.isSetSuccess()) {
         oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-        this.success.write(oprot);
+        oprot.writeI32(this.success);
         oprot.writeFieldEnd();
       } else if (this.isSetIre()) {
         oprot.writeFieldBegin(IRE_FIELD_DESC);
         this.ire.write(oprot);
         oprot.writeFieldEnd();
-      } else if (this.isSetNfe()) {
-        oprot.writeFieldBegin(NFE_FIELD_DESC);
-        this.nfe.write(oprot);
-        oprot.writeFieldEnd();
       }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
@@ -3988,15 +3245,11 @@
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("get_column_result(");
+      StringBuilder sb = new StringBuilder("get_count_result(");
       boolean first = true;
 
       sb.append("success:");
-      if (this.success == null) {
-        sb.append("null");
-      } else {

[... 5692 lines stripped ...]