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/07/21 03:36:11 UTC

svn commit: r796107 - in /incubator/cassandra/trunk: interface/ interface/gen-java/org/apache/cassandra/service/ src/java/org/apache/cassandra/config/ src/java/org/apache/cassandra/db/ src/java/org/apache/cassandra/db/filter/ src/java/org/apache/cassan...

Author: jbellis
Date: Tue Jul 21 01:36:10 2009
New Revision: 796107

URL: http://svn.apache.org/viewvc?rev=796107&view=rev
Log:
r/m time-sorted columns.
patch by jbellis; reviewed by Sandeep Tata for CASSANDRA-185

Removed:
    incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnsSinceReadCommand.java
    incubator/cassandra/trunk/src/java/org/apache/cassandra/db/filter/SSTableTimeIterator.java
    incubator/cassandra/trunk/src/java/org/apache/cassandra/db/filter/TimeQueryFilter.java
    incubator/cassandra/trunk/test/unit/org/apache/cassandra/db/TimeSortTest.java
Modified:
    incubator/cassandra/trunk/interface/cassandra.thrift
    incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Cassandra.java
    incubator/cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
    incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnComparatorFactory.java
    incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamily.java
    incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
    incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Memtable.java
    incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ReadCommand.java
    incubator/cassandra/trunk/src/java/org/apache/cassandra/db/RowMutation.java
    incubator/cassandra/trunk/src/java/org/apache/cassandra/db/SuperColumn.java
    incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Table.java
    incubator/cassandra/trunk/src/java/org/apache/cassandra/io/IFileReader.java
    incubator/cassandra/trunk/src/java/org/apache/cassandra/io/IndexHelper.java
    incubator/cassandra/trunk/src/java/org/apache/cassandra/io/SSTableReader.java
    incubator/cassandra/trunk/src/java/org/apache/cassandra/io/SequenceFile.java
    incubator/cassandra/trunk/src/java/org/apache/cassandra/service/CassandraServer.java
    incubator/cassandra/trunk/test/unit/org/apache/cassandra/db/ReadMessageTest.java

Modified: incubator/cassandra/trunk/interface/cassandra.thrift
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/interface/cassandra.thrift?rev=796107&r1=796106&r2=796107&view=diff
==============================================================================
--- incubator/cassandra/trunk/interface/cassandra.thrift (original)
+++ incubator/cassandra/trunk/interface/cassandra.thrift Tue Jul 21 01:36:10 2009
@@ -134,9 +134,6 @@
   void           remove(1:string table, 2:string key, 3:ColumnPathOrParent column_path_or_parent, 4:i64 timestamp, 5:i32 block_for=0)
   throws (1: InvalidRequestException ire, 2: UnavailableException ue),
 
-  list<Column> get_columns_since(1:string table, 2:string key, 3:ColumnParent column_parent, 4:i64 timeStamp)
-  throws (1: InvalidRequestException ire, 2: NotFoundException nfe),
-
   list<SuperColumn> get_slice_super(1:string table, 2:string key, 3:string column_family, 4:string start, 5:string finish, 6:bool is_ascending, 7:i32 count=100)
   throws (1: InvalidRequestException ire),
 

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=796107&r1=796106&r2=796107&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 Tue Jul 21 01:36:10 2009
@@ -36,8 +36,6 @@
 
     public void remove(String table, String key, ColumnPathOrParent column_path_or_parent, long timestamp, int block_for) throws InvalidRequestException, UnavailableException, TException;
 
-    public List<Column> get_columns_since(String table, String key, ColumnParent column_parent, long timeStamp) throws InvalidRequestException, NotFoundException, TException;
-
     public List<SuperColumn> get_slice_super(String table, String key, String column_family, String start, String finish, boolean is_ascending, int count) throws InvalidRequestException, TException;
 
     public List<SuperColumn> get_slice_super_by_names(String table, String key, String column_family, List<String> super_column_names) throws InvalidRequestException, TException;
@@ -370,48 +368,6 @@
       return;
     }
 
-    public List<Column> get_columns_since(String table, String key, ColumnParent column_parent, long timeStamp) throws InvalidRequestException, NotFoundException, TException
-    {
-      send_get_columns_since(table, key, column_parent, timeStamp);
-      return recv_get_columns_since();
-    }
-
-    public void send_get_columns_since(String table, String key, ColumnParent column_parent, long timeStamp) throws TException
-    {
-      oprot_.writeMessageBegin(new TMessage("get_columns_since", TMessageType.CALL, seqid_));
-      get_columns_since_args args = new get_columns_since_args();
-      args.table = table;
-      args.key = key;
-      args.column_parent = column_parent;
-      args.timeStamp = timeStamp;
-      args.write(oprot_);
-      oprot_.writeMessageEnd();
-      oprot_.getTransport().flush();
-    }
-
-    public List<Column> recv_get_columns_since() throws InvalidRequestException, NotFoundException, TException
-    {
-      TMessage msg = iprot_.readMessageBegin();
-      if (msg.type == TMessageType.EXCEPTION) {
-        TApplicationException x = TApplicationException.read(iprot_);
-        iprot_.readMessageEnd();
-        throw x;
-      }
-      get_columns_since_result result = new get_columns_since_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_columns_since failed: unknown result");
-    }
-
     public List<SuperColumn> get_slice_super(String table, String key, String column_family, String start, String finish, boolean is_ascending, int count) throws InvalidRequestException, TException
     {
       send_get_slice_super(table, key, column_family, start, finish, is_ascending, count);
@@ -760,7 +716,6 @@
       processMap_.put("insert", new insert());
       processMap_.put("batch_insert", new batch_insert());
       processMap_.put("remove", new remove());
-      processMap_.put("get_columns_since", new get_columns_since());
       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());
@@ -1006,36 +961,6 @@
 
     }
 
-    private class get_columns_since implements ProcessFunction {
-      public void process(int seqid, TProtocol iprot, TProtocol oprot) throws TException
-      {
-        get_columns_since_args args = new get_columns_since_args();
-        args.read(iprot);
-        iprot.readMessageEnd();
-        get_columns_since_result result = new get_columns_since_result();
-        try {
-          result.success = iface_.get_columns_since(args.table, args.key, args.column_parent, args.timeStamp);
-        } catch (InvalidRequestException ire) {
-          result.ire = ire;
-        } catch (NotFoundException nfe) {
-          result.nfe = nfe;
-        } catch (Throwable th) {
-          LOGGER.error("Internal error processing get_columns_since", th);
-          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing get_columns_since");
-          oprot.writeMessageBegin(new TMessage("get_columns_since", TMessageType.EXCEPTION, seqid));
-          x.write(oprot);
-          oprot.writeMessageEnd();
-          oprot.getTransport().flush();
-          return;
-        }
-        oprot.writeMessageBegin(new TMessage("get_columns_since", TMessageType.REPLY, seqid));
-        result.write(oprot);
-        oprot.writeMessageEnd();
-        oprot.getTransport().flush();
-      }
-
-    }
-
     private class get_slice_super implements ProcessFunction {
       public void process(int seqid, TProtocol iprot, TProtocol oprot) throws TException
       {
@@ -6684,25 +6609,35 @@
 
   }
 
-  public static class get_columns_since_args implements TBase, java.io.Serializable, Cloneable   {
-    private static final TStruct STRUCT_DESC = new TStruct("get_columns_since_args");
+  public static class get_slice_super_args implements TBase, java.io.Serializable, Cloneable   {
+    private static final TStruct STRUCT_DESC = new TStruct("get_slice_super_args");
     private static final TField TABLE_FIELD_DESC = new TField("table", 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 TIME_STAMP_FIELD_DESC = new TField("timeStamp", TType.I64, (short)4);
+    private static final TField COLUMN_FAMILY_FIELD_DESC = new TField("column_family", TType.STRING, (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);
 
     public String table;
     public static final int TABLE = 1;
     public String key;
     public static final int KEY = 2;
-    public ColumnParent column_parent;
-    public static final int COLUMN_PARENT = 3;
-    public long timeStamp;
-    public static final int TIMESTAMP = 4;
+    public String column_family;
+    public static final int COLUMN_FAMILY = 3;
+    public String start;
+    public static final int START = 4;
+    public String 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;
 
     private final Isset __isset = new Isset();
     private static final class Isset implements java.io.Serializable {
-      public boolean timeStamp = false;
+      public boolean is_ascending = false;
+      public boolean count = false;
     }
 
     public static final Map<Integer, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new HashMap<Integer, FieldMetaData>() {{
@@ -6710,53 +6645,76 @@
           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(TIMESTAMP, new FieldMetaData("timeStamp", TFieldRequirementType.DEFAULT, 
-          new FieldValueMetaData(TType.I64)));
+      put(COLUMN_FAMILY, new FieldMetaData("column_family", TFieldRequirementType.DEFAULT, 
+          new FieldValueMetaData(TType.STRING)));
+      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)));
     }});
 
     static {
-      FieldMetaData.addStructMetaDataMap(get_columns_since_args.class, metaDataMap);
+      FieldMetaData.addStructMetaDataMap(get_slice_super_args.class, metaDataMap);
     }
 
-    public get_columns_since_args() {
+    public get_slice_super_args() {
+      this.count = 100;
+
     }
 
-    public get_columns_since_args(
+    public get_slice_super_args(
       String table,
       String key,
-      ColumnParent column_parent,
-      long timeStamp)
+      String column_family,
+      String start,
+      String finish,
+      boolean is_ascending,
+      int count)
     {
       this();
       this.table = table;
       this.key = key;
-      this.column_parent = column_parent;
-      this.timeStamp = timeStamp;
-      this.__isset.timeStamp = true;
+      this.column_family = column_family;
+      this.start = start;
+      this.finish = finish;
+      this.is_ascending = is_ascending;
+      this.__isset.is_ascending = true;
+      this.count = count;
+      this.__isset.count = true;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public get_columns_since_args(get_columns_since_args other) {
+    public get_slice_super_args(get_slice_super_args other) {
       if (other.isSetTable()) {
         this.table = other.table;
       }
       if (other.isSetKey()) {
         this.key = other.key;
       }
-      if (other.isSetColumn_parent()) {
-        this.column_parent = new ColumnParent(other.column_parent);
+      if (other.isSetColumn_family()) {
+        this.column_family = other.column_family;
+      }
+      if (other.isSetStart()) {
+        this.start = other.start;
+      }
+      if (other.isSetFinish()) {
+        this.finish = other.finish;
       }
-      __isset.timeStamp = other.__isset.timeStamp;
-      this.timeStamp = other.timeStamp;
+      __isset.is_ascending = other.__isset.is_ascending;
+      this.is_ascending = other.is_ascending;
+      __isset.count = other.__isset.count;
+      this.count = other.count;
     }
 
     @Override
-    public get_columns_since_args clone() {
-      return new get_columns_since_args(this);
+    public get_slice_super_args clone() {
+      return new get_slice_super_args(this);
     }
 
     public String getTable() {
@@ -6805,49 +6763,117 @@
       }
     }
 
-    public ColumnParent getColumn_parent() {
-      return this.column_parent;
+    public String getColumn_family() {
+      return this.column_family;
     }
 
-    public void setColumn_parent(ColumnParent column_parent) {
-      this.column_parent = column_parent;
+    public void setColumn_family(String column_family) {
+      this.column_family = column_family;
     }
 
-    public void unsetColumn_parent() {
-      this.column_parent = null;
+    public void unsetColumn_family() {
+      this.column_family = 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;
+    // Returns true if field column_family is set (has been asigned a value) and false otherwise
+    public boolean isSetColumn_family() {
+      return this.column_family != null;
     }
 
-    public void setColumn_parentIsSet(boolean value) {
+    public void setColumn_familyIsSet(boolean value) {
       if (!value) {
-        this.column_parent = null;
+        this.column_family = null;
+      }
+    }
+
+    public String getStart() {
+      return this.start;
+    }
+
+    public void setStart(String 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 String getFinish() {
+      return this.finish;
+    }
+
+    public void setFinish(String finish) {
+      this.finish = finish;
+    }
+
+    public void unsetFinish() {
+      this.finish = null;
+    }
+
+    // Returns true if field finish is set (has been asigned a value) and false otherwise
+    public boolean isSetFinish() {
+      return this.finish != null;
+    }
+
+    public void setFinishIsSet(boolean value) {
+      if (!value) {
+        this.finish = null;
       }
     }
 
-    public long getTimeStamp() {
-      return this.timeStamp;
+    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 setTimeStamp(long timeStamp) {
-      this.timeStamp = timeStamp;
-      this.__isset.timeStamp = true;
+    public void setCount(int count) {
+      this.count = count;
+      this.__isset.count = true;
     }
 
-    public void unsetTimeStamp() {
-      this.__isset.timeStamp = false;
+    public void unsetCount() {
+      this.__isset.count = false;
     }
 
-    // Returns true if field timeStamp is set (has been asigned a value) and false otherwise
-    public boolean isSetTimeStamp() {
-      return this.__isset.timeStamp;
+    // Returns true if field count is set (has been asigned a value) and false otherwise
+    public boolean isSetCount() {
+      return this.__isset.count;
     }
 
-    public void setTimeStampIsSet(boolean value) {
-      this.__isset.timeStamp = value;
+    public void setCountIsSet(boolean value) {
+      this.__isset.count = value;
     }
 
     public void setFieldValue(int fieldID, Object value) {
@@ -6868,935 +6894,29 @@
         }
         break;
 
-      case COLUMN_PARENT:
+      case COLUMN_FAMILY:
         if (value == null) {
-          unsetColumn_parent();
+          unsetColumn_family();
         } else {
-          setColumn_parent((ColumnParent)value);
+          setColumn_family((String)value);
         }
         break;
 
-      case TIMESTAMP:
+      case START:
         if (value == null) {
-          unsetTimeStamp();
+          unsetStart();
         } else {
-          setTimeStamp((Long)value);
+          setStart((String)value);
         }
         break;
 
-      default:
-        throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
-      }
-    }
-
-    public Object getFieldValue(int fieldID) {
-      switch (fieldID) {
-      case TABLE:
-        return getTable();
-
-      case KEY:
-        return getKey();
-
-      case COLUMN_PARENT:
-        return getColumn_parent();
-
-      case TIMESTAMP:
-        return new Long(getTimeStamp());
-
-      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 TABLE:
-        return isSetTable();
-      case KEY:
-        return isSetKey();
-      case COLUMN_PARENT:
-        return isSetColumn_parent();
-      case TIMESTAMP:
-        return isSetTimeStamp();
-      default:
-        throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
-      }
-    }
-
-    @Override
-    public boolean equals(Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof get_columns_since_args)
-        return this.equals((get_columns_since_args)that);
-      return false;
-    }
-
-    public boolean equals(get_columns_since_args that) {
-      if (that == null)
-        return false;
-
-      boolean this_present_table = true && this.isSetTable();
-      boolean that_present_table = true && that.isSetTable();
-      if (this_present_table || that_present_table) {
-        if (!(this_present_table && that_present_table))
-          return false;
-        if (!this.table.equals(that.table))
-          return false;
-      }
-
-      boolean this_present_key = true && this.isSetKey();
-      boolean that_present_key = true && that.isSetKey();
-      if (this_present_key || that_present_key) {
-        if (!(this_present_key && that_present_key))
-          return false;
-        if (!this.key.equals(that.key))
-          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_timeStamp = true;
-      boolean that_present_timeStamp = true;
-      if (this_present_timeStamp || that_present_timeStamp) {
-        if (!(this_present_timeStamp && that_present_timeStamp))
-          return false;
-        if (this.timeStamp != that.timeStamp)
-          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 TABLE:
-            if (field.type == TType.STRING) {
-              this.table = iprot.readString();
-            } else { 
-              TProtocolUtil.skip(iprot, field.type);
-            }
-            break;
-          case KEY:
-            if (field.type == TType.STRING) {
-              this.key = iprot.readString();
-            } else { 
-              TProtocolUtil.skip(iprot, field.type);
-            }
-            break;
-          case COLUMN_PARENT:
-            if (field.type == TType.STRUCT) {
-              this.column_parent = new ColumnParent();
-              this.column_parent.read(iprot);
-            } else { 
-              TProtocolUtil.skip(iprot, field.type);
-            }
-            break;
-          case TIMESTAMP:
-            if (field.type == TType.I64) {
-              this.timeStamp = iprot.readI64();
-              this.__isset.timeStamp = 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.table != null) {
-        oprot.writeFieldBegin(TABLE_FIELD_DESC);
-        oprot.writeString(this.table);
-        oprot.writeFieldEnd();
-      }
-      if (this.key != null) {
-        oprot.writeFieldBegin(KEY_FIELD_DESC);
-        oprot.writeString(this.key);
-        oprot.writeFieldEnd();
-      }
-      if (this.column_parent != null) {
-        oprot.writeFieldBegin(COLUMN_PARENT_FIELD_DESC);
-        this.column_parent.write(oprot);
-        oprot.writeFieldEnd();
-      }
-      oprot.writeFieldBegin(TIME_STAMP_FIELD_DESC);
-      oprot.writeI64(this.timeStamp);
-      oprot.writeFieldEnd();
-      oprot.writeFieldStop();
-      oprot.writeStructEnd();
-    }
-
-    @Override
-    public String toString() {
-      StringBuilder sb = new StringBuilder("get_columns_since_args(");
-      boolean first = true;
-
-      sb.append("table:");
-      if (this.table == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.table);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("key:");
-      if (this.key == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.key);
-      }
-      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("timeStamp:");
-      sb.append(this.timeStamp);
-      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_columns_since_result implements TBase, java.io.Serializable, Cloneable   {
-    private static final TStruct STRUCT_DESC = new TStruct("get_columns_since_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 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 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))));
-      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_columns_since_result.class, metaDataMap);
-    }
-
-    public get_columns_since_result() {
-    }
-
-    public get_columns_since_result(
-      List<Column> success,
-      InvalidRequestException ire,
-      NotFoundException nfe)
-    {
-      this();
-      this.success = success;
-      this.ire = ire;
-      this.nfe = nfe;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public get_columns_since_result(get_columns_since_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;
-      }
-      if (other.isSetIre()) {
-        this.ire = new InvalidRequestException(other.ire);
-      }
-      if (other.isSetNfe()) {
-        this.nfe = new NotFoundException(other.nfe);
-      }
-    }
-
-    @Override
-    public get_columns_since_result clone() {
-      return new get_columns_since_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 List<Column> getSuccess() {
-      return this.success;
-    }
-
-    public void setSuccess(List<Column> success) {
-      this.success = success;
-    }
-
-    public void unsetSuccess() {
-      this.success = null;
-    }
-
-    // Returns true if field success is set (has been asigned a value) and false otherwise
-    public boolean isSetSuccess() {
-      return this.success != null;
-    }
-
-    public void setSuccessIsSet(boolean value) {
-      if (!value) {
-        this.success = null;
-      }
-    }
-
-    public InvalidRequestException getIre() {
-      return this.ire;
-    }
-
-    public void setIre(InvalidRequestException ire) {
-      this.ire = ire;
-    }
-
-    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 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((List<Column>)value);
-        }
-        break;
-
-      case IRE:
-        if (value == null) {
-          unsetIre();
-        } else {
-          setIre((InvalidRequestException)value);
-        }
-        break;
-
-      case NFE:
-        if (value == null) {
-          unsetNfe();
-        } else {
-          setNfe((NotFoundException)value);
-        }
-        break;
-
-      default:
-        throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
-      }
-    }
-
-    public Object getFieldValue(int fieldID) {
-      switch (fieldID) {
-      case SUCCESS:
-        return getSuccess();
-
-      case IRE:
-        return getIre();
-
-      case NFE:
-        return getNfe();
-
-      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 SUCCESS:
-        return isSetSuccess();
-      case IRE:
-        return isSetIre();
-      case NFE:
-        return isSetNfe();
-      default:
-        throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
-      }
-    }
-
-    @Override
-    public boolean equals(Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof get_columns_since_result)
-        return this.equals((get_columns_since_result)that);
-      return false;
-    }
-
-    public boolean equals(get_columns_since_result that) {
-      if (that == null)
-        return false;
-
-      boolean this_present_success = true && this.isSetSuccess();
-      boolean that_present_success = true && that.isSetSuccess();
-      if (this_present_success || that_present_success) {
-        if (!(this_present_success && that_present_success))
-          return false;
-        if (!this.success.equals(that.success))
-          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_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;
-    }
-
-    @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 SUCCESS:
-            if (field.type == TType.LIST) {
-              {
-                TList _list43 = iprot.readListBegin();
-                this.success = new ArrayList<Column>(_list43.size);
-                for (int _i44 = 0; _i44 < _list43.size; ++_i44)
-                {
-                  Column _elem45;
-                  _elem45 = new Column();
-                  _elem45.read(iprot);
-                  this.success.add(_elem45);
-                }
-                iprot.readListEnd();
-              }
-            } else { 
-              TProtocolUtil.skip(iprot, field.type);
-            }
-            break;
-          case IRE:
-            if (field.type == TType.STRUCT) {
-              this.ire = new InvalidRequestException();
-              this.ire.read(iprot);
-            } else { 
-              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;
-        }
-        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.isSetSuccess()) {
-        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-        {
-          oprot.writeListBegin(new TList(TType.STRUCT, this.success.size()));
-          for (Column _iter46 : this.success)          {
-            _iter46.write(oprot);
-          }
-          oprot.writeListEnd();
-        }
-        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();
-    }
-
-    @Override
-    public String toString() {
-      StringBuilder sb = new StringBuilder("get_columns_since_result(");
-      boolean first = true;
-
-      sb.append("success:");
-      if (this.success == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.success);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("ire:");
-      if (this.ire == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ire);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("nfe:");
-      if (this.nfe == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.nfe);
-      }
-      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_slice_super_args implements TBase, java.io.Serializable, Cloneable   {
-    private static final TStruct STRUCT_DESC = new TStruct("get_slice_super_args");
-    private static final TField TABLE_FIELD_DESC = new TField("table", TType.STRING, (short)1);
-    private static final TField KEY_FIELD_DESC = new TField("key", TType.STRING, (short)2);
-    private static final TField COLUMN_FAMILY_FIELD_DESC = new TField("column_family", TType.STRING, (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);
-
-    public String table;
-    public static final int TABLE = 1;
-    public String key;
-    public static final int KEY = 2;
-    public String column_family;
-    public static final int COLUMN_FAMILY = 3;
-    public String start;
-    public static final int START = 4;
-    public String 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;
-
-    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 static final Map<Integer, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new HashMap<Integer, FieldMetaData>() {{
-      put(TABLE, new FieldMetaData("table", TFieldRequirementType.DEFAULT, 
-          new FieldValueMetaData(TType.STRING)));
-      put(KEY, new FieldMetaData("key", TFieldRequirementType.DEFAULT, 
-          new FieldValueMetaData(TType.STRING)));
-      put(COLUMN_FAMILY, new FieldMetaData("column_family", TFieldRequirementType.DEFAULT, 
-          new FieldValueMetaData(TType.STRING)));
-      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)));
-    }});
-
-    static {
-      FieldMetaData.addStructMetaDataMap(get_slice_super_args.class, metaDataMap);
-    }
-
-    public get_slice_super_args() {
-      this.count = 100;
-
-    }
-
-    public get_slice_super_args(
-      String table,
-      String key,
-      String column_family,
-      String start,
-      String finish,
-      boolean is_ascending,
-      int count)
-    {
-      this();
-      this.table = table;
-      this.key = key;
-      this.column_family = column_family;
-      this.start = start;
-      this.finish = finish;
-      this.is_ascending = is_ascending;
-      this.__isset.is_ascending = true;
-      this.count = count;
-      this.__isset.count = true;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public get_slice_super_args(get_slice_super_args other) {
-      if (other.isSetTable()) {
-        this.table = other.table;
-      }
-      if (other.isSetKey()) {
-        this.key = other.key;
-      }
-      if (other.isSetColumn_family()) {
-        this.column_family = other.column_family;
-      }
-      if (other.isSetStart()) {
-        this.start = other.start;
-      }
-      if (other.isSetFinish()) {
-        this.finish = other.finish;
-      }
-      __isset.is_ascending = other.__isset.is_ascending;
-      this.is_ascending = other.is_ascending;
-      __isset.count = other.__isset.count;
-      this.count = other.count;
-    }
-
-    @Override
-    public get_slice_super_args clone() {
-      return new get_slice_super_args(this);
-    }
-
-    public String getTable() {
-      return this.table;
-    }
-
-    public void setTable(String table) {
-      this.table = table;
-    }
-
-    public void unsetTable() {
-      this.table = null;
-    }
-
-    // Returns true if field table is set (has been asigned a value) and false otherwise
-    public boolean isSetTable() {
-      return this.table != null;
-    }
-
-    public void setTableIsSet(boolean value) {
-      if (!value) {
-        this.table = null;
-      }
-    }
-
-    public String getKey() {
-      return this.key;
-    }
-
-    public void setKey(String key) {
-      this.key = key;
-    }
-
-    public void unsetKey() {
-      this.key = null;
-    }
-
-    // Returns true if field key is set (has been asigned a value) and false otherwise
-    public boolean isSetKey() {
-      return this.key != null;
-    }
-
-    public void setKeyIsSet(boolean value) {
-      if (!value) {
-        this.key = null;
-      }
-    }
-
-    public String getColumn_family() {
-      return this.column_family;
-    }
-
-    public void setColumn_family(String column_family) {
-      this.column_family = column_family;
-    }
-
-    public void unsetColumn_family() {
-      this.column_family = null;
-    }
-
-    // Returns true if field column_family is set (has been asigned a value) and false otherwise
-    public boolean isSetColumn_family() {
-      return this.column_family != null;
-    }
-
-    public void setColumn_familyIsSet(boolean value) {
-      if (!value) {
-        this.column_family = null;
-      }
-    }
-
-    public String getStart() {
-      return this.start;
-    }
-
-    public void setStart(String 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 String getFinish() {
-      return this.finish;
-    }
-
-    public void setFinish(String finish) {
-      this.finish = finish;
-    }
-
-    public void unsetFinish() {
-      this.finish = null;
-    }
-
-    // Returns true if field finish is set (has been asigned a value) and false otherwise
-    public boolean isSetFinish() {
-      return this.finish != null;
-    }
-
-    public void setFinishIsSet(boolean value) {
-      if (!value) {
-        this.finish = 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 void setFieldValue(int fieldID, Object value) {
-      switch (fieldID) {
-      case TABLE:
-        if (value == null) {
-          unsetTable();
-        } else {
-          setTable((String)value);
-        }
-        break;
-
-      case KEY:
-        if (value == null) {
-          unsetKey();
-        } else {
-          setKey((String)value);
-        }
-        break;
-
-      case COLUMN_FAMILY:
-        if (value == null) {
-          unsetColumn_family();
-        } else {
-          setColumn_family((String)value);
-        }
-        break;
-
-      case START:
-        if (value == null) {
-          unsetStart();
-        } else {
-          setStart((String)value);
-        }
-        break;
-
-      case FINISH:
-        if (value == null) {
-          unsetFinish();
-        } else {
-          setFinish((String)value);
-        }
-        break;
+      case FINISH:
+        if (value == null) {
+          unsetFinish();
+        } else {
+          setFinish((String)value);
+        }
+        break;
 
       case IS_ASCENDING:
         if (value == null) {
@@ -8351,14 +7471,14 @@
           case SUCCESS:
             if (field.type == TType.LIST) {
               {
-                TList _list47 = iprot.readListBegin();
-                this.success = new ArrayList<SuperColumn>(_list47.size);
-                for (int _i48 = 0; _i48 < _list47.size; ++_i48)
+                TList _list43 = iprot.readListBegin();
+                this.success = new ArrayList<SuperColumn>(_list43.size);
+                for (int _i44 = 0; _i44 < _list43.size; ++_i44)
                 {
-                  SuperColumn _elem49;
-                  _elem49 = new SuperColumn();
-                  _elem49.read(iprot);
-                  this.success.add(_elem49);
+                  SuperColumn _elem45;
+                  _elem45 = new SuperColumn();
+                  _elem45.read(iprot);
+                  this.success.add(_elem45);
                 }
                 iprot.readListEnd();
               }
@@ -8394,8 +7514,8 @@
         oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
         {
           oprot.writeListBegin(new TList(TType.STRUCT, this.success.size()));
-          for (SuperColumn _iter50 : this.success)          {
-            _iter50.write(oprot);
+          for (SuperColumn _iter46 : this.success)          {
+            _iter46.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -8792,13 +7912,13 @@
           case SUPER_COLUMN_NAMES:
             if (field.type == TType.LIST) {
               {
-                TList _list51 = iprot.readListBegin();
-                this.super_column_names = new ArrayList<String>(_list51.size);
-                for (int _i52 = 0; _i52 < _list51.size; ++_i52)
+                TList _list47 = iprot.readListBegin();
+                this.super_column_names = new ArrayList<String>(_list47.size);
+                for (int _i48 = 0; _i48 < _list47.size; ++_i48)
                 {
-                  String _elem53;
-                  _elem53 = iprot.readString();
-                  this.super_column_names.add(_elem53);
+                  String _elem49;
+                  _elem49 = iprot.readString();
+                  this.super_column_names.add(_elem49);
                 }
                 iprot.readListEnd();
               }
@@ -8842,8 +7962,8 @@
         oprot.writeFieldBegin(SUPER_COLUMN_NAMES_FIELD_DESC);
         {
           oprot.writeListBegin(new TList(TType.STRING, this.super_column_names.size()));
-          for (String _iter54 : this.super_column_names)          {
-            oprot.writeString(_iter54);
+          for (String _iter50 : this.super_column_names)          {
+            oprot.writeString(_iter50);
           }
           oprot.writeListEnd();
         }
@@ -9121,14 +8241,14 @@
           case SUCCESS:
             if (field.type == TType.LIST) {
               {
-                TList _list55 = iprot.readListBegin();
-                this.success = new ArrayList<SuperColumn>(_list55.size);
-                for (int _i56 = 0; _i56 < _list55.size; ++_i56)
+                TList _list51 = iprot.readListBegin();
+                this.success = new ArrayList<SuperColumn>(_list51.size);
+                for (int _i52 = 0; _i52 < _list51.size; ++_i52)
                 {
-                  SuperColumn _elem57;
-                  _elem57 = new SuperColumn();
-                  _elem57.read(iprot);
-                  this.success.add(_elem57);
+                  SuperColumn _elem53;
+                  _elem53 = new SuperColumn();
+                  _elem53.read(iprot);
+                  this.success.add(_elem53);
                 }
                 iprot.readListEnd();
               }
@@ -9164,8 +8284,8 @@
         oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
         {
           oprot.writeListBegin(new TList(TType.STRUCT, this.success.size()));
-          for (SuperColumn _iter58 : this.success)          {
-            _iter58.write(oprot);
+          for (SuperColumn _iter54 : this.success)          {
+            _iter54.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -11251,13 +10371,13 @@
           case SUCCESS:
             if (field.type == TType.LIST) {
               {
-                TList _list59 = iprot.readListBegin();
-                this.success = new ArrayList<String>(_list59.size);
-                for (int _i60 = 0; _i60 < _list59.size; ++_i60)
+                TList _list55 = iprot.readListBegin();
+                this.success = new ArrayList<String>(_list55.size);
+                for (int _i56 = 0; _i56 < _list55.size; ++_i56)
                 {
-                  String _elem61;
-                  _elem61 = iprot.readString();
-                  this.success.add(_elem61);
+                  String _elem57;
+                  _elem57 = iprot.readString();
+                  this.success.add(_elem57);
                 }
                 iprot.readListEnd();
               }
@@ -11293,8 +10413,8 @@
         oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
         {
           oprot.writeListBegin(new TList(TType.STRING, this.success.size()));
-          for (String _iter62 : this.success)          {
-            oprot.writeString(_iter62);
+          for (String _iter58 : this.success)          {
+            oprot.writeString(_iter58);
           }
           oprot.writeListEnd();
         }
@@ -12101,13 +11221,13 @@
           case SUCCESS:
             if (field.type == TType.LIST) {
               {
-                TList _list63 = iprot.readListBegin();
-                this.success = new ArrayList<String>(_list63.size);
-                for (int _i64 = 0; _i64 < _list63.size; ++_i64)
+                TList _list59 = iprot.readListBegin();
+                this.success = new ArrayList<String>(_list59.size);
+                for (int _i60 = 0; _i60 < _list59.size; ++_i60)
                 {
-                  String _elem65;
-                  _elem65 = iprot.readString();
-                  this.success.add(_elem65);
+                  String _elem61;
+                  _elem61 = iprot.readString();
+                  this.success.add(_elem61);
                 }
                 iprot.readListEnd();
               }
@@ -12135,8 +11255,8 @@
         oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
         {
           oprot.writeListBegin(new TList(TType.STRING, this.success.size()));
-          for (String _iter66 : this.success)          {
-            oprot.writeString(_iter66);
+          for (String _iter62 : this.success)          {
+            oprot.writeString(_iter62);
           }
           oprot.writeListEnd();
         }
@@ -12607,27 +11727,27 @@
           case SUCCESS:
             if (field.type == TType.MAP) {
               {
-                TMap _map67 = iprot.readMapBegin();
-                this.success = new HashMap<String,Map<String,String>>(2*_map67.size);
-                for (int _i68 = 0; _i68 < _map67.size; ++_i68)
+                TMap _map63 = iprot.readMapBegin();
+                this.success = new HashMap<String,Map<String,String>>(2*_map63.size);
+                for (int _i64 = 0; _i64 < _map63.size; ++_i64)
                 {
-                  String _key69;
-                  Map<String,String> _val70;
-                  _key69 = iprot.readString();
+                  String _key65;
+                  Map<String,String> _val66;
+                  _key65 = iprot.readString();
                   {
-                    TMap _map71 = iprot.readMapBegin();
-                    _val70 = new HashMap<String,String>(2*_map71.size);
-                    for (int _i72 = 0; _i72 < _map71.size; ++_i72)
+                    TMap _map67 = iprot.readMapBegin();
+                    _val66 = new HashMap<String,String>(2*_map67.size);
+                    for (int _i68 = 0; _i68 < _map67.size; ++_i68)
                     {
-                      String _key73;
-                      String _val74;
-                      _key73 = iprot.readString();
-                      _val74 = iprot.readString();
-                      _val70.put(_key73, _val74);
+                      String _key69;
+                      String _val70;
+                      _key69 = iprot.readString();
+                      _val70 = iprot.readString();
+                      _val66.put(_key69, _val70);
                     }
                     iprot.readMapEnd();
                   }
-                  this.success.put(_key69, _val70);
+                  this.success.put(_key65, _val66);
                 }
                 iprot.readMapEnd();
               }
@@ -12663,13 +11783,13 @@
         oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
         {
           oprot.writeMapBegin(new TMap(TType.STRING, TType.MAP, this.success.size()));
-          for (Map.Entry<String, Map<String,String>> _iter75 : this.success.entrySet())          {
-            oprot.writeString(_iter75.getKey());
+          for (Map.Entry<String, Map<String,String>> _iter71 : this.success.entrySet())          {
+            oprot.writeString(_iter71.getKey());
             {
-              oprot.writeMapBegin(new TMap(TType.STRING, TType.STRING, _iter75.getValue().size()));
-              for (Map.Entry<String, String> _iter76 : _iter75.getValue().entrySet())              {
-                oprot.writeString(_iter76.getKey());
-                oprot.writeString(_iter76.getValue());
+              oprot.writeMapBegin(new TMap(TType.STRING, TType.STRING, _iter71.getValue().size()));
+              for (Map.Entry<String, String> _iter72 : _iter71.getValue().entrySet())              {
+                oprot.writeString(_iter72.getKey());
+                oprot.writeString(_iter72.getValue());
               }
               oprot.writeMapEnd();
             }

Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java?rev=796107&r1=796106&r2=796107&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java Tue Jul 21 01:36:10 2009
@@ -587,17 +587,6 @@
         return cfMetaData.flushPeriodInMinutes;
     }
 
-    public static boolean isNameSortingEnabled(String tableName, String cfName)
-    {
-        assert tableName != null;
-        CFMetaData cfMetaData = getCFMetaData(tableName, cfName);
-
-        if (cfMetaData == null)
-            return false;
-
-    	return "Name".equals(cfMetaData.indexProperty_);
-    }
-    
     public static boolean isTimeSortingEnabled(String tableName, String cfName)
     {
         assert tableName != null;
@@ -773,15 +762,7 @@
     public static ColumnComparatorFactory.ComparatorType getTypeInfo(String tableName, String cfName)
     {
         assert tableName != null;
-        CFMetaData cfMetadata = DatabaseDescriptor.getCFMetaData(tableName, cfName);
-        if ( cfMetadata.indexProperty_.equals("Name") )
-        {
-            return ColumnComparatorFactory.ComparatorType.NAME;
-        }
-        else
-        {
-            return ColumnComparatorFactory.ComparatorType.TIMESTAMP;
-        }
+        return ColumnComparatorFactory.ComparatorType.NAME;
     }
 
     public static Map<String, Map<String, CFMetaData>> getTableToColumnFamilyMap()

Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnComparatorFactory.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnComparatorFactory.java?rev=796107&r1=796106&r2=796107&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnComparatorFactory.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnComparatorFactory.java Tue Jul 21 01:36:10 2009
@@ -31,18 +31,14 @@
     public static enum ComparatorType
     {
         NAME,
-        TIMESTAMP
     }
 
     public static final Comparator<IColumn> nameComparator_ = new ColumnNameComparator();
-    public static final Comparator<IColumn> timestampComparator_ = new ColumnTimestampComparator();
 
     public static Comparator<IColumn> getComparator(ComparatorType comparatorType)
     {
-        if (comparatorType == ComparatorType.NAME)
-            return nameComparator_;
-        assert comparatorType == ComparatorType.TIMESTAMP;
-        return timestampComparator_;
+        assert comparatorType == ComparatorType.NAME;
+        return nameComparator_;
     }
 
     public static Comparator<IColumn> getComparator(int comparatorTypeInt)
@@ -67,36 +63,6 @@
     }
 }
 
-class ColumnTimestampComparator extends AbstractColumnComparator
-{
-    ColumnTimestampComparator()
-    {
-        super(ColumnComparatorFactory.ComparatorType.TIMESTAMP);
-    }
-
-    /* if the time-stamps are the same then sort by names */
-    public int compare(IColumn column1, IColumn column2)
-    {
-        assert column1.getClass() == column2.getClass();
-        /* inverse sort by time to get hte latest first */
-        long result = column2.timestamp() - column1.timestamp();
-        int finalResult = 0;
-        if (result == 0)
-        {
-            result = column1.name().compareTo(column2.name());
-        }
-        if (result > 0)
-        {
-            finalResult = 1;
-        }
-        if (result < 0)
-        {
-            finalResult = -1;
-        }
-        return finalResult;
-    }
-}
-
 class ColumnNameComparator extends AbstractColumnComparator
 {
     ColumnNameComparator()

Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamily.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamily.java?rev=796107&r1=796106&r2=796107&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamily.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamily.java Tue Jul 21 01:36:10 2009
@@ -96,17 +96,8 @@
 
     public static ColumnFamily create(String tableName, String cfName)
     {
-        Comparator<IColumn> comparator;
         String columnType = DatabaseDescriptor.getColumnFamilyType(tableName, cfName);
-        if (DatabaseDescriptor.isNameSortingEnabled(tableName, cfName))
-        {
-            comparator = ColumnComparatorFactory.getComparator(ColumnComparatorFactory.ComparatorType.NAME);
-        }
-        /* if this columnfamily has simple columns, and no index on name sort by timestamp */
-        else
-        {
-            comparator = ColumnComparatorFactory.getComparator(ColumnComparatorFactory.ComparatorType.TIMESTAMP);
-        }
+        Comparator<IColumn> comparator = ColumnComparatorFactory.getComparator(ColumnComparatorFactory.ComparatorType.NAME);
         return new ColumnFamily(cfName, columnType, comparator);
     }
 
@@ -343,9 +334,7 @@
 
     public ColumnComparatorFactory.ComparatorType getComparatorType()
     {
-        return getComparator() == ColumnComparatorFactory.nameComparator_
-               ? ColumnComparatorFactory.ComparatorType.NAME
-               : ColumnComparatorFactory.ComparatorType.TIMESTAMP;
+        return ColumnComparatorFactory.ComparatorType.NAME;
     }
 
     int size()

Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java?rev=796107&r1=796106&r2=796107&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java Tue Jul 21 01:36:10 2009
@@ -1416,11 +1416,6 @@
         return getColumnFamily(new SliceQueryFilter(key, path, start, finish, isAscending, limit));
     }
 
-    public ColumnFamily getColumnFamily(String key, QueryPath columnParent, long since) throws IOException
-    {
-        return getColumnFamily(new TimeQueryFilter(key, columnParent, since));    
-    }
-
     public ColumnFamily getColumnFamily(QueryFilter filter) throws IOException
     {
         return getColumnFamily(filter, getDefaultGCBefore());

Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Memtable.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Memtable.java?rev=796107&r1=796106&r2=796107&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Memtable.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Memtable.java Tue Jul 21 01:36:10 2009
@@ -353,39 +353,7 @@
             }
         };
     }
-
-    public ColumnIterator getTimeIterator(final TimeQueryFilter filter)
-    {
-        final ColumnFamily cf = columnFamilies_.get(filter.key);
-        final ColumnFamily columnFamily = cf == null ? ColumnFamily.create(table_, filter.getColumnFamilyName()) : cf.cloneMeShallow();
-
-        return new SimpleAbstractColumnIterator()
-        {
-            private Iterator<IColumn> iter = cf == null ? null : cf.getAllColumns().iterator();
-
-            public ColumnFamily getColumnFamily()
-            {
-                return columnFamily;
-            }
-
-            protected IColumn computeNext()
-            {
-                if (iter == null)
-                {
-                    return endOfData();
-                }
-                while (iter.hasNext())
-                {
-                    IColumn column = iter.next();
-                    if (column.timestamp() < filter.since)
-                        break;
-                    return column;
-                }
-                return endOfData();
-            }
-        };
-    }
-
+    
     void clearUnsafe()
     {
         columnFamilies_.clear();

Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ReadCommand.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ReadCommand.java?rev=796107&r1=796106&r2=796107&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ReadCommand.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ReadCommand.java Tue Jul 21 01:36:10 2009
@@ -34,8 +34,7 @@
 {
     public static final String DO_REPAIR = "READ-REPAIR";
     public static final byte CMD_TYPE_GET_SLICE_BY_NAMES = 1;
-    public static final byte CMD_TYPE_GET_COLUMNS_SINCE = 2;
-    public static final byte CMD_TYPE_GET_SLICE = 3;
+    public static final byte CMD_TYPE_GET_SLICE = 2;
 
     public static final String EMPTY_CF = "";
     
@@ -89,7 +88,6 @@
     static 
     {
         CMD_SERIALIZER_MAP.put(ReadCommand.CMD_TYPE_GET_SLICE_BY_NAMES, new SliceByNamesReadCommandSerializer());
-        CMD_SERIALIZER_MAP.put(ReadCommand.CMD_TYPE_GET_COLUMNS_SINCE, new ColumnsSinceReadCommandSerializer());
         CMD_SERIALIZER_MAP.put(ReadCommand.CMD_TYPE_GET_SLICE, new SliceFromReadCommandSerializer());
     }
 

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=796107&r1=796106&r2=796107&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 Tue Jul 21 01:36:10 2009
@@ -95,13 +95,6 @@
         modifications_ = modifications;
     }
 
-    /** trailing empty patch fragments ("" or "CF:") will be removed,
-     * so caller doesn't have to check for those */
-    public static String[] getColumnAndColumnFamily(String cf)
-    {
-        return cf.split(":");
-    }
-
     public String table()
     {
         return table_;

Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/db/SuperColumn.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/db/SuperColumn.java?rev=796107&r1=796106&r2=796107&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/db/SuperColumn.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/db/SuperColumn.java Tue Jul 21 01:36:10 2009
@@ -24,7 +24,9 @@
 import java.io.Serializable;
 import java.util.Collection;
 import java.util.Set;
+import java.util.Map;
 import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.ConcurrentSkipListMap;
 
 import org.apache.commons.lang.ArrayUtils;
 import org.apache.commons.lang.StringUtils;
@@ -41,7 +43,6 @@
 {
 	private static Logger logger_ = Logger.getLogger(SuperColumn.class);
 	private static SuperColumnSerializer serializer_ = new SuperColumnSerializer();
-	private final static String seperator_ = ":";
 
     static SuperColumnSerializer serializer()
     {
@@ -49,7 +50,7 @@
     }
 
 	private String name_;
-    private EfficientBidiMap columns_ = new EfficientBidiMap(ColumnComparatorFactory.getComparator(ColumnComparatorFactory.ComparatorType.TIMESTAMP));
+    private ConcurrentSkipListMap<String, IColumn> columns_ = new ConcurrentSkipListMap<String, IColumn>();
     private int localDeletionTime = Integer.MIN_VALUE;
 	private long markedForDeleteAt = Long.MIN_VALUE;
     private AtomicInteger size_ = new AtomicInteger(0);
@@ -82,7 +83,7 @@
 
     public Collection<IColumn> getSubColumns()
     {
-    	return columns_.getSortedColumns();
+    	return columns_.values();
     }
 
     public IColumn getSubColumn(String columnName)
@@ -277,12 +278,11 @@
 
     public byte[] digest()
     {
-    	Set<IColumn> columns = columns_.getSortedColumns();
     	byte[] xorHash = ArrayUtils.EMPTY_BYTE_ARRAY;
     	if(name_ == null)
     		return xorHash;
     	xorHash = name_.getBytes();
-    	for(IColumn column : columns)
+    	for(IColumn column : columns_.values())
     	{
 			xorHash = FBUtilities.xor(xorHash, column.digest());
     	}

Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Table.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Table.java?rev=796107&r1=796106&r2=796107&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Table.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Table.java Tue Jul 21 01:36:10 2009
@@ -517,9 +517,7 @@
     @Deprecated // single CFs could be larger than memory
     public ColumnFamily get(String key, String cfName) throws IOException
     {
-        assert !cfName.contains(":") : cfName;
-        String[] values = RowMutation.getColumnAndColumnFamily(cfName);
-        ColumnFamilyStore cfStore = columnFamilyStores_.get(values[0]);
+        ColumnFamilyStore cfStore = columnFamilyStores_.get(cfName);
         assert cfStore != null : "Column family " + cfName + " has not been defined";
         return cfStore.getColumnFamily(new IdentityQueryFilter(key, new QueryPath(cfName)));
     }

Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/io/IFileReader.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/io/IFileReader.java?rev=796107&r1=796106&r2=796107&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/io/IFileReader.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/io/IFileReader.java Tue Jul 21 01:36:10 2009
@@ -72,14 +72,8 @@
      * @param columnFamilyName The name of the column family only without the ":"
      * @param columnNames - The list of columns in the cfName column family
      * 					     that we want to return
-     * OR
-     * @param timeRange - time range we are interested in
-     * @param position
-     * @throws IOException
-     * @return number of bytes read.
-     *
     */
-    public long next(String key, DataOutputBuffer bufOut, String columnFamilyName, SortedSet<String> columnNames, IndexHelper.TimeRange timeRange, long position) throws IOException;
+    public long next(String key, DataOutputBuffer bufOut, String columnFamilyName, SortedSet<String> columnNames, long position) throws IOException;
 
     /**
      * Close the file after reading.

Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/io/IndexHelper.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/io/IndexHelper.java?rev=796107&r1=796106&r2=796107&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/io/IndexHelper.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/io/IndexHelper.java Tue Jul 21 01:36:10 2009
@@ -246,93 +246,7 @@
 
 		return columnRanges;
 	}
-    
-    /**
-     * Returns the range in which a given column falls in the index. This
-     * is used when time range queries are in play. For instance if we are
-     * looking for columns in the range [t, t2]
-     * @param cIndexInfo the time we are interested in.
-     * @param columnIndexList the in-memory representation of the column index
-     * @param dataSize the total size of the data
-     * @param totalNumCols total number of columns
-     * @return an object describing a subrange in which the column is serialized
-     */
-    static ColumnRange getColumnRangeFromTimeIndex(IndexHelper.TimeRange timeRange, List<IndexHelper.ColumnIndexInfo> columnIndexList, int dataSize, int totalNumCols)
-    {
-        /* if column indexes were not present for this column family, the handle accordingly */
-        if(columnIndexList.size() == 0)
-        {
-            return new ColumnRange(0, dataSize, totalNumCols);
-        }
-
-        /* find the offset for the column */
-        int size = columnIndexList.size();
-        long start = 0;
-        long end = dataSize;
-        int numColumns = 0;      
-       
-        /*
-         *  Time indices are sorted in descending order. So
-         *  we need to apply a reverse comparator for the 
-         *  binary search.        
-        */        
-        Comparator<IndexHelper.ColumnIndexInfo> comparator = Collections.reverseOrder(); 
-        IndexHelper.ColumnIndexInfo rhs = IndexHelper.ColumnIndexFactory.instance(ColumnComparatorFactory.ComparatorType.TIMESTAMP);
-        rhs.set(timeRange.rhs());
-        int index = Collections.binarySearch(columnIndexList, rhs, comparator);
-        if ( index < 0 )
-        {
-            /* We are here which means that the requested column is not an index. */
-            index = (++index)*(-1);
-        }
-        else
-        {
-            ++index;
-        }
-
-        /* 
-         * Calculate the starting offset from which we have to read. So
-         * we achieve this by performing the probe using the bigger timestamp
-         * and then scanning the column position chunks till we reach the
-         * lower timestamp in the time range.      
-        */
-        start = (index == 0) ? 0 : columnIndexList.get(index - 1).position();
-        /* add the number of columns in the first chunk. */
-        numColumns += (index ==0) ? columnIndexList.get(0).count() : columnIndexList.get(index - 1).count(); 
-        if( index < size )
-        {            
-            int chunks = columnIndexList.size();
-            /* Index info for the lower bound of the time range */
-            IndexHelper.ColumnIndexInfo lhs = IndexHelper.ColumnIndexFactory.instance(ColumnComparatorFactory.ComparatorType.TIMESTAMP);
-            lhs.set(timeRange.lhs());
-            int i = index + 1;
-            for ( ; i < chunks; ++i )
-            {
-                IndexHelper.ColumnIndexInfo cIndexInfo2 = columnIndexList.get(i);
-                if ( cIndexInfo2.compareTo(lhs) < 0 )
-                {
-                    numColumns += cIndexInfo2.count();
-                    break;
-                } 
-                numColumns += cIndexInfo2.count();
-            }
-            
-            end = columnIndexList.get(i).position();                       
-        }
-        else
-        {
-            end = dataSize;  
-            int totalColsIndexed = 0;
-            for( IndexHelper.ColumnIndexInfo colPosInfo : columnIndexList )
-            {
-                totalColsIndexed += colPosInfo.count();
-            }
-            numColumns = totalNumCols - totalColsIndexed;
-        }
-       
-        return new ColumnRange(start, end, numColumns);
-    }    
-    
+        
     public static class ColumnIndexFactory
     {
         public static ColumnIndexInfo instance(ColumnComparatorFactory.ComparatorType typeInfo)
@@ -341,37 +255,8 @@
                     ? new ColumnNameIndexInfo() : new ColumnTimestampIndexInfo();
         }
     }
-    
-    /**
-     * Encapsulates a time range. Queries use 
-     * this abstraction for indicating start 
-     * and end regions of a time filter.
-     * 
-     * @author alakshman
-     *
-     */
-    public static class TimeRange
-    {
-        private long lhs_;
-        private long rhs_;
-        
-        public TimeRange(long lhs, long rhs)
-        {
-            lhs_ = lhs;
-            rhs_ = rhs;
-        }
-        
-        public long lhs()
-        {
-            return lhs_;
-        }
-        
-        public long rhs()
-        {
-            return rhs_;
-        }
-    }
-    
+
+
     /**
      * A column range containing the start and end
      * offset of the appropriate column index chunk

Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/io/SSTableReader.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/io/SSTableReader.java?rev=796107&r1=796106&r2=796107&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/io/SSTableReader.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/io/SSTableReader.java Tue Jul 21 01:36:10 2009
@@ -287,11 +287,6 @@
 
     public DataInputBuffer next(final String clientKey, String cfName, SortedSet<String> columnNames) throws IOException
     {
-        return next(clientKey, cfName, columnNames, null);
-    }
-
-    public DataInputBuffer next(final String clientKey, String cfName, SortedSet<String> columnNames, IndexHelper.TimeRange timeRange) throws IOException
-    {
         IFileReader dataReader = null;
         try
         {
@@ -301,7 +296,7 @@
 
             DataOutputBuffer bufOut = new DataOutputBuffer();
             DataInputBuffer bufIn = new DataInputBuffer();
-            long bytesRead = dataReader.next(decoratedKey, bufOut, cfName, columnNames, timeRange, position);
+            long bytesRead = dataReader.next(decoratedKey, bufOut, cfName, columnNames, position);
             if (bytesRead != -1L)
             {
                 if (bufOut.getLength() > 0)

Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/io/SequenceFile.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/io/SequenceFile.java?rev=796107&r1=796106&r2=796107&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/io/SequenceFile.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/io/SequenceFile.java Tue Jul 21 01:36:10 2009
@@ -426,15 +426,8 @@
             if (hasColumnIndexes)
             {
                 String tableName = getTableName();
-                if (DatabaseDescriptor.isNameSortingEnabled(tableName, cfName))
-                {
-                    /* read the index */
-                    totalBytesRead += IndexHelper.deserializeIndex(tableName, cfName, file_, columnIndexList);
-                }
-                else
-                {
-                    totalBytesRead += IndexHelper.skipIndex(file_);
-                }
+                /* read the index */
+                totalBytesRead += IndexHelper.deserializeIndex(tableName, cfName, file_, columnIndexList);
             }
             return totalBytesRead;
         }
@@ -476,15 +469,10 @@
          * @param bufOut    DataOutputStream that needs to be filled.
          * @param columnFamilyName name of the columnFamily
          * @param columnNames columnNames we are interested in
-         * OR
-         * @param timeRange time range we are interested in
-         * @param position
-         * @return number of bytes that were read.
-         * @throws IOException
          */
-        public long next(String key, DataOutputBuffer bufOut, String columnFamilyName, SortedSet<String> columnNames, IndexHelper.TimeRange timeRange, long position) throws IOException
+        public long next(String key, DataOutputBuffer bufOut, String columnFamilyName, SortedSet<String> columnNames, long position) throws IOException
         {
-            assert timeRange == null || columnNames == null; // at most one may be non-null
+            assert columnNames != null;
 
             long bytesRead = -1L;
             if (isEOF() || seekTo(position) < 0)
@@ -510,11 +498,7 @@
                 */
                 if (keyInDisk.equals(key))
                 {
-                    if (timeRange == null) {
-                        readColumns(key, bufOut, columnFamilyName, columnNames);
-                    } else {
-                        readTimeRange(key, bufOut, columnFamilyName, timeRange);
-                    }
+                    readColumns(key, bufOut, columnFamilyName, columnNames);
                 }
                 else
                 {
@@ -530,70 +514,6 @@
             return bytesRead;
         }
 
-        private void readTimeRange(String key, DataOutputBuffer bufOut, String columnFamilyName, IndexHelper.TimeRange timeRange)
-                throws IOException
-        {
-            int dataSize = file_.readInt();
-
-            /* write the key into buffer */
-            bufOut.writeUTF(key);
-
-            int bytesSkipped = IndexHelper.skipBloomFilter(file_);
-            /*
-             * read the correct number of bytes for the column family and
-             * write data into buffer. Subtract from dataSize the bloom
-             * filter size.
-            */
-            dataSize -= bytesSkipped;
-            List<IndexHelper.ColumnIndexInfo> columnIndexList = new ArrayList<IndexHelper.ColumnIndexInfo>();
-            /* Read the times indexes if present */
-            int totalBytesRead = handleColumnTimeIndexes(columnFamilyName, columnIndexList);
-            dataSize -= totalBytesRead;
-
-            /* read the column family name */
-            String cfName = file_.readUTF();
-            dataSize -= (utfPrefix_ + cfName.length());
-
-            String cfType = file_.readUTF();
-            dataSize -= (utfPrefix_ + cfType.length());
-
-            int indexType = file_.readInt();
-            dataSize -= 4;
-
-            /* read local deletion time */
-            int localDeletionTime = file_.readInt();
-            dataSize -=4;
-
-            /* read if this cf is marked for delete */
-            long markedForDeleteAt = file_.readLong();
-            dataSize -= 8;
-
-            /* read the total number of columns */
-            int totalNumCols = file_.readInt();
-            dataSize -= 4;
-
-            /* get the column range we have to read */
-            IndexHelper.ColumnRange columnRange = IndexHelper.getColumnRangeFromTimeIndex(timeRange, columnIndexList, dataSize, totalNumCols);
-
-            Coordinate coordinate = columnRange.coordinate();
-            /* seek to the correct offset to the data, and calculate the data size */
-            file_.skipBytes((int) coordinate.start_);
-            dataSize = (int) (coordinate.end_ - coordinate.start_);
-
-            // returned data size
-            bufOut.writeInt(dataSize + utfPrefix_ * 2 + cfName.length() + cfType.length() + 4 + 4 + 8 + 4);
-            // echo back the CF data we read
-            bufOut.writeUTF(cfName);
-            bufOut.writeUTF(cfType);
-            bufOut.writeInt(indexType);
-            bufOut.writeInt(localDeletionTime);
-            bufOut.writeLong(markedForDeleteAt);
-            /* write number of columns */
-            bufOut.writeInt(columnRange.count());
-            /* now write the columns */
-            bufOut.write(file_, dataSize);
-        }
-
         private void readColumns(String key, DataOutputBuffer bufOut, String columnFamilyName, SortedSet<String> cNames)
                 throws IOException
         {

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=796107&r1=796106&r2=796107&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 Tue Jul 21 01:36:10 2009
@@ -133,15 +133,6 @@
         return thriftifyColumns(cfamily.getAllColumns());
     }
 
-    public List<Column> get_columns_since(String table, String key, ColumnParent column_parent, long timeStamp)
-    throws InvalidRequestException, NotFoundException
-    {
-        logger.debug("get_columns_since");
-        ThriftValidation.validateColumnParent(table, column_parent);
-        return getSlice(new ColumnsSinceReadCommand(table, key, column_parent, timeStamp));
-    }
-
-
     public List<Column> get_slice_by_names(String table, String key, ColumnParent column_parent, List<String> column_names)
     throws InvalidRequestException, NotFoundException
     {
@@ -221,15 +212,7 @@
         }
 
         ColumnFamily cfamily;
-        if (DatabaseDescriptor.isNameSortingEnabled(table, column_parent.column_family)
-            && column_parent.super_column == null)
-        {
-            cfamily = readColumnFamily(new SliceFromReadCommand(table, key, column_parent, "", "", true, Integer.MAX_VALUE));
-        }
-        else
-        {
-            cfamily = readColumnFamily(new ColumnsSinceReadCommand(table, key, column_parent, Long.MIN_VALUE));
-        }
+        cfamily = readColumnFamily(new SliceFromReadCommand(table, key, column_parent, "", "", true, Integer.MAX_VALUE));
         if (cfamily == null)
         {
             return 0;

Modified: incubator/cassandra/trunk/test/unit/org/apache/cassandra/db/ReadMessageTest.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/test/unit/org/apache/cassandra/db/ReadMessageTest.java?rev=796107&r1=796106&r2=796107&view=diff
==============================================================================
--- incubator/cassandra/trunk/test/unit/org/apache/cassandra/db/ReadMessageTest.java (original)
+++ incubator/cassandra/trunk/test/unit/org/apache/cassandra/db/ReadMessageTest.java Tue Jul 21 01:36:10 2009
@@ -46,10 +46,6 @@
         rm2 = serializeAndDeserializeReadMessage(rm);
         assert rm2.toString().equals(rm.toString());
 
-        rm = new ColumnsSinceReadCommand("Table1", "row1", new QueryPath("foo"), 1);
-        rm2 = serializeAndDeserializeReadMessage(rm);
-        assert rm2.toString().equals(rm.toString());
-
         rm = new SliceFromReadCommand("Table1", "row1", new QueryPath("foo"), "", "", true, 2);
         rm2 = serializeAndDeserializeReadMessage(rm);
         assert rm2.toString().equals(rm.toString());