Modified: cassandra/trunk/drivers/txpy/txcql/cassandra/constants.py
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/drivers/txpy/txcql/cassandra/constants.py?rev=1091572&r1=1091571&r2=1091572&view=diff
==============================================================================
--- cassandra/trunk/drivers/txpy/txcql/cassandra/constants.py (original)
+++ cassandra/trunk/drivers/txpy/txcql/cassandra/constants.py Tue Apr 12 
21:08:08 2011
@@ -7,4 +7,4 @@
 from thrift.Thrift import *
 from ttypes import *
 
-VERSION = "20.0.0"
+VERSION = "20.1.0"

Modified: cassandra/trunk/drivers/txpy/txcql/cassandra/ttypes.py
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/drivers/txpy/txcql/cassandra/ttypes.py?rev=1091572&r1=1091571&r2=1091572&view=diff
==============================================================================
--- cassandra/trunk/drivers/txpy/txcql/cassandra/ttypes.py (original)
+++ cassandra/trunk/drivers/txpy/txcql/cassandra/ttypes.py Tue Apr 12 21:08:08 
2011
@@ -2324,6 +2324,7 @@ class CfDef:
    - merge_shards_chance
    - key_validation_class
    - row_cache_provider
+   - key_alias
   """
 
   thrift_spec = (
@@ -2355,9 +2356,10 @@ class CfDef:
     (25, TType.DOUBLE, 'merge_shards_chance', None, None, ), # 25
     (26, TType.STRING, 'key_validation_class', None, None, ), # 26
     (27, TType.STRING, 'row_cache_provider', None, 
"org.apache.cassandra.cache.ConcurrentLinkedHashCacheProvider", ), # 27
+    (28, TType.STRING, 'key_alias', None, None, ), # 28
   )
 
-  def __init__(self, keyspace=None, name=None, column_type=thrift_spec[3][4], 
comparator_type=thrift_spec[5][4], subcomparator_type=None, comment=None, 
row_cache_size=thrift_spec[9][4], key_cache_size=thrift_spec[11][4], 
read_repair_chance=thrift_spec[12][4], column_metadata=None, 
gc_grace_seconds=None, default_validation_class=None, id=None, 
min_compaction_threshold=None, max_compaction_threshold=None, 
row_cache_save_period_in_seconds=None, key_cache_save_period_in_seconds=None, 
memtable_flush_after_mins=None, memtable_throughput_in_mb=None, 
memtable_operations_in_millions=None, replicate_on_write=None, 
merge_shards_chance=None, key_validation_class=None, 
row_cache_provider=thrift_spec[27][4],):
+  def __init__(self, keyspace=None, name=None, column_type=thrift_spec[3][4], 
comparator_type=thrift_spec[5][4], subcomparator_type=None, comment=None, 
row_cache_size=thrift_spec[9][4], key_cache_size=thrift_spec[11][4], 
read_repair_chance=thrift_spec[12][4], column_metadata=None, 
gc_grace_seconds=None, default_validation_class=None, id=None, 
min_compaction_threshold=None, max_compaction_threshold=None, 
row_cache_save_period_in_seconds=None, key_cache_save_period_in_seconds=None, 
memtable_flush_after_mins=None, memtable_throughput_in_mb=None, 
memtable_operations_in_millions=None, replicate_on_write=None, 
merge_shards_chance=None, key_validation_class=None, 
row_cache_provider=thrift_spec[27][4], key_alias=None,):
     self.keyspace = keyspace
     self.name = name
     self.column_type = column_type
@@ -2382,6 +2384,7 @@ class CfDef:
     self.merge_shards_chance = merge_shards_chance
     self.key_validation_class = key_validation_class
     self.row_cache_provider = row_cache_provider
+    self.key_alias = key_alias
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and 
isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is 
not None and fastbinary is not None:
@@ -2518,6 +2521,11 @@ class CfDef:
           self.row_cache_provider = iprot.readString();
         else:
           iprot.skip(ftype)
+      elif fid == 28:
+        if ftype == TType.STRING:
+          self.key_alias = iprot.readString();
+        else:
+          iprot.skip(ftype)
       else:
         iprot.skip(ftype)
       iprot.readFieldEnd()
@@ -2627,6 +2635,10 @@ class CfDef:
       oprot.writeFieldBegin('row_cache_provider', TType.STRING, 27)
       oprot.writeString(self.row_cache_provider)
       oprot.writeFieldEnd()
+    if self.key_alias != None:
+      oprot.writeFieldBegin('key_alias', TType.STRING, 28)
+      oprot.writeString(self.key_alias)
+      oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
     def validate(self):

Modified: cassandra/trunk/interface/cassandra.thrift
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/interface/cassandra.thrift?rev=1091572&r1=1091571&r2=1091572&view=diff
==============================================================================
--- cassandra/trunk/interface/cassandra.thrift (original)
+++ cassandra/trunk/interface/cassandra.thrift Tue Apr 12 21:08:08 2011
@@ -46,7 +46,7 @@ namespace rb CassandraThrift
 #           for every edit that doesn't result in a change to major/minor.
 #
 # See the Semantic Versioning Specification (SemVer) http://semver.org.
-const string VERSION = "20.0.0"
+const string VERSION = "20.1.0"
 
 
 #
@@ -394,6 +394,7 @@ struct CfDef {
     25: optional double merge_shards_chance,
     26: optional string key_validation_class,
     27: optional string 
row_cache_provider="org.apache.cassandra.cache.ConcurrentLinkedHashCacheProvider",
+    28: optional binary key_alias,
 }
 
 /* describes a keyspace. */

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Apr 12 21:08:08 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1090647,1091503,1091542
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1091087,1091503,1091542
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1091148,1091508,1091544
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090935-1091111,1091113,1091148,1091508,1091544
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1051699-1053689
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/Cassandra.java:774578-796573
 
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/Cassandra.java:810145-834239,834349-834350

Modified: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java?rev=1091572&r1=1091571&r2=1091572&view=diff
==============================================================================
--- 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java
 (original)
+++ 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java
 Tue Apr 12 21:08:08 2011
@@ -69,6 +69,7 @@ public class CfDef implements org.apache
   private static final org.apache.thrift.protocol.TField 
MERGE_SHARDS_CHANCE_FIELD_DESC = new 
org.apache.thrift.protocol.TField("merge_shards_chance", 
org.apache.thrift.protocol.TType.DOUBLE, (short)25);
   private static final org.apache.thrift.protocol.TField 
KEY_VALIDATION_CLASS_FIELD_DESC = new 
org.apache.thrift.protocol.TField("key_validation_class", 
org.apache.thrift.protocol.TType.STRING, (short)26);
   private static final org.apache.thrift.protocol.TField 
ROW_CACHE_PROVIDER_FIELD_DESC = new 
org.apache.thrift.protocol.TField("row_cache_provider", 
org.apache.thrift.protocol.TType.STRING, (short)27);
+  private static final org.apache.thrift.protocol.TField KEY_ALIAS_FIELD_DESC 
= new org.apache.thrift.protocol.TField("key_alias", 
org.apache.thrift.protocol.TType.STRING, (short)28);
 
   public String keyspace;
   public String name;
@@ -94,6 +95,7 @@ public class CfDef implements org.apache
   public double merge_shards_chance;
   public String key_validation_class;
   public String row_cache_provider;
+  public ByteBuffer key_alias;
 
   /** The set of fields this struct contains, along with convenience methods 
for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -120,7 +122,8 @@ public class CfDef implements org.apache
     REPLICATE_ON_WRITE((short)24, "replicate_on_write"),
     MERGE_SHARDS_CHANCE((short)25, "merge_shards_chance"),
     KEY_VALIDATION_CLASS((short)26, "key_validation_class"),
-    ROW_CACHE_PROVIDER((short)27, "row_cache_provider");
+    ROW_CACHE_PROVIDER((short)27, "row_cache_provider"),
+    KEY_ALIAS((short)28, "key_alias");
 
     private static final Map<String, _Fields> byName = new HashMap<String, 
_Fields>();
 
@@ -183,6 +186,8 @@ public class CfDef implements org.apache
           return KEY_VALIDATION_CLASS;
         case 27: // ROW_CACHE_PROVIDER
           return ROW_CACHE_PROVIDER;
+        case 28: // KEY_ALIAS
+          return KEY_ALIAS;
         default:
           return null;
       }
@@ -291,6 +296,8 @@ public class CfDef implements org.apache
         new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.ROW_CACHE_PROVIDER, new 
org.apache.thrift.meta_data.FieldMetaData("row_cache_provider", 
org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.KEY_ALIAS, new 
org.apache.thrift.meta_data.FieldMetaData("key_alias", 
org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING
        , true)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     
org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(CfDef.class, 
metaDataMap);
   }
@@ -373,6 +380,10 @@ public class CfDef implements org.apache
     if (other.isSetRow_cache_provider()) {
       this.row_cache_provider = other.row_cache_provider;
     }
+    if (other.isSetKey_alias()) {
+      this.key_alias = 
org.apache.thrift.TBaseHelper.copyBinary(other.key_alias);
+;
+    }
   }
 
   public CfDef deepCopy() {
@@ -422,6 +433,7 @@ public class CfDef implements org.apache
     this.key_validation_class = null;
     this.row_cache_provider = 
"org.apache.cassandra.cache.ConcurrentLinkedHashCacheProvider";
 
+    this.key_alias = null;
   }
 
   public String getKeyspace() {
@@ -1001,6 +1013,40 @@ public class CfDef implements org.apache
     }
   }
 
+  public byte[] getKey_alias() {
+    setKey_alias(org.apache.thrift.TBaseHelper.rightSize(key_alias));
+    return key_alias == null ? null : key_alias.array();
+  }
+
+  public ByteBuffer bufferForKey_alias() {
+    return key_alias;
+  }
+
+  public CfDef setKey_alias(byte[] key_alias) {
+    setKey_alias(key_alias == null ? (ByteBuffer)null : 
ByteBuffer.wrap(key_alias));
+    return this;
+  }
+
+  public CfDef setKey_alias(ByteBuffer key_alias) {
+    this.key_alias = key_alias;
+    return this;
+  }
+
+  public void unsetKey_alias() {
+    this.key_alias = null;
+  }
+
+  /** Returns true if field key_alias is set (has been assigned a value) and 
false otherwise */
+  public boolean isSetKey_alias() {
+    return this.key_alias != null;
+  }
+
+  public void setKey_aliasIsSet(boolean value) {
+    if (!value) {
+      this.key_alias = null;
+    }
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case KEYSPACE:
@@ -1195,6 +1241,14 @@ public class CfDef implements org.apache
       }
       break;
 
+    case KEY_ALIAS:
+      if (value == null) {
+        unsetKey_alias();
+      } else {
+        setKey_alias((ByteBuffer)value);
+      }
+      break;
+
     }
   }
 
@@ -1272,6 +1326,9 @@ public class CfDef implements org.apache
     case ROW_CACHE_PROVIDER:
       return getRow_cache_provider();
 
+    case KEY_ALIAS:
+      return getKey_alias();
+
     }
     throw new IllegalStateException();
   }
@@ -1331,6 +1388,8 @@ public class CfDef implements org.apache
       return isSetKey_validation_class();
     case ROW_CACHE_PROVIDER:
       return isSetRow_cache_provider();
+    case KEY_ALIAS:
+      return isSetKey_alias();
     }
     throw new IllegalStateException();
   }
@@ -1564,6 +1623,15 @@ public class CfDef implements org.apache
         return false;
     }
 
+    boolean this_present_key_alias = true && this.isSetKey_alias();
+    boolean that_present_key_alias = true && that.isSetKey_alias();
+    if (this_present_key_alias || that_present_key_alias) {
+      if (!(this_present_key_alias && that_present_key_alias))
+        return false;
+      if (!this.key_alias.equals(that.key_alias))
+        return false;
+    }
+
     return true;
   }
 
@@ -1691,6 +1759,11 @@ public class CfDef implements org.apache
     if (present_row_cache_provider)
       builder.append(row_cache_provider);
 
+    boolean present_key_alias = true && (isSetKey_alias());
+    builder.append(present_key_alias);
+    if (present_key_alias)
+      builder.append(key_alias);
+
     return builder.toHashCode();
   }
 
@@ -1942,6 +2015,16 @@ public class CfDef implements org.apache
         return lastComparison;
       }
     }
+    lastComparison = 
Boolean.valueOf(isSetKey_alias()).compareTo(typedOther.isSetKey_alias());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetKey_alias()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.key_alias, 
typedOther.key_alias);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -2152,6 +2235,13 @@ public class CfDef implements org.apache
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
           }
           break;
+        case 28: // KEY_ALIAS
+          if (field.type == org.apache.thrift.protocol.TType.STRING) {
+            this.key_alias = iprot.readBinary();
+          } else { 
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
+          }
+          break;
         default:
           org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
       }
@@ -2310,6 +2400,13 @@ public class CfDef implements org.apache
         oprot.writeFieldEnd();
       }
     }
+    if (this.key_alias != null) {
+      if (isSetKey_alias()) {
+        oprot.writeFieldBegin(KEY_ALIAS_FIELD_DESC);
+        oprot.writeBinary(this.key_alias);
+        oprot.writeFieldEnd();
+      }
+    }
     oprot.writeFieldStop();
     oprot.writeStructEnd();
   }
@@ -2498,6 +2595,16 @@ public class CfDef implements org.apache
       }
       first = false;
     }
+    if (isSetKey_alias()) {
+      if (!first) sb.append(", ");
+      sb.append("key_alias:");
+      if (this.key_alias == null) {
+        sb.append("null");
+      } else {
+        org.apache.thrift.TBaseHelper.toString(this.key_alias, sb);
+      }
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Apr 12 21:08:08 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1090647,1091503,1091542
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1091087,1091503,1091542
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1091148,1091508,1091544
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1090935-1091111,1091113,1091148,1091508,1091544
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1051699-1053689
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/column_t.java:774578-792198
 
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/Column.java:810145-834239,834349-834350

Modified: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Constants.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Constants.java?rev=1091572&r1=1091571&r2=1091572&view=diff
==============================================================================
--- 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Constants.java
 (original)
+++ 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Constants.java
 Tue Apr 12 21:08:08 2011
@@ -44,6 +44,6 @@ import org.slf4j.LoggerFactory;
 
 public class Constants {
 
-  public static final String VERSION = "20.0.0";
+  public static final String VERSION = "20.1.0";
 
 }

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Apr 12 21:08:08 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1026516-1090647,1091503,1091542
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1026516-1091087,1091503,1091542
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1091148,1091508,1091544
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1090935-1091111,1091113,1091148,1091508,1091544
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1051699-1053689
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:774578-796573
 
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:810145-834239,834349-834350

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Apr 12 21:08:08 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1026516-1090647,1091503,1091542
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1026516-1091087,1091503,1091542
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1091148,1091508,1091544
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1090935-1091111,1091113,1091148,1091508,1091544
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1051699-1053689
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:774578-796573
 
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:810145-834239,834349-834350

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Apr 12 21:08:08 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1026516-1090647,1091503,1091542
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1026516-1091087,1091503,1091542
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1091148,1091508,1091544
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1090935-1091111,1091113,1091148,1091508,1091544
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1051699-1053689
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/superColumn_t.java:774578-792198
 
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/SuperColumn.java:810145-834239,834349-834350

Modified: cassandra/trunk/src/avro/internode.genavro
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/avro/internode.genavro?rev=1091572&r1=1091571&r2=1091572&view=diff
==============================================================================
--- cassandra/trunk/src/avro/internode.genavro (original)
+++ cassandra/trunk/src/avro/internode.genavro Tue Apr 12 21:08:08 2011
@@ -64,6 +64,7 @@ protocol InterNode {
         union { int, null } id;
         union { array<ColumnDef>, null } column_metadata;
         union { string, null } row_cache_provider = 
"org.apache.cassandra.cache.ConcurrentLinkedHashCacheProvider";
+        union { null, bytes } key_alias = null;
     }
 
     @aliases(["org.apache.cassandra.config.avro.KsDef"])

Modified: cassandra/trunk/src/java/org/apache/cassandra/config/CFMetaData.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/config/CFMetaData.java?rev=1091572&r1=1091571&r2=1091572&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/config/CFMetaData.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/config/CFMetaData.java Tue 
Apr 12 21:08:08 2011
@@ -43,6 +43,7 @@ import org.apache.cassandra.db.marshal.T
 import org.apache.cassandra.db.marshal.UTF8Type;
 import org.apache.cassandra.db.migration.Migration;
 import org.apache.cassandra.io.SerDeUtils;
+import org.apache.cassandra.thrift.InvalidRequestException;
 import org.apache.cassandra.utils.ByteBufferUtil;
 import org.apache.cassandra.utils.FBUtilities;
 import org.apache.cassandra.utils.Pair;
@@ -131,7 +132,7 @@ public final class CFMetaData
 
     //REQUIRED
     public final Integer cfId;                        // internal id, never 
exposed to user
-    public final String ksName;                    // name of keyspace
+    public final String ksName;                       // name of keyspace
     public final String cfName;                       // name of this column 
family
     public final ColumnFamilyType cfType;             // standard, super
     public final AbstractType comparator;             // bytes, long, 
timeuuid, utf8, etc.
@@ -155,6 +156,7 @@ public final class CFMetaData
     private double memtableOperationsInMillions;      // default based on 
throughput
     private double mergeShardsChance;                 // default 0.1, chance 
[0.0, 1.0] of merging old shards during replication
     private IRowCacheProvider rowCacheProvider;
+    private ByteBuffer keyAlias;                      // default NULL
     // NOTE: if you find yourself adding members to this class, make sure you 
keep the convert methods in lockstep.
 
     private Map<ByteBuffer, ColumnDefinition> column_metadata;
@@ -175,6 +177,7 @@ public final class CFMetaData
     public CFMetaData memSize(int prop) {memtableThroughputInMb = prop; return 
this;}
     public CFMetaData memOps(double prop) {memtableOperationsInMillions = 
prop; return this;}
     public CFMetaData mergeShardsChance(double prop) {mergeShardsChance = 
prop; return this;}
+    public CFMetaData keyAlias(ByteBuffer prop) {keyAlias = prop; return this;}
     public CFMetaData columnMetadata(Map<ByteBuffer,ColumnDefinition> prop) 
{column_metadata = prop; return this;}
     public CFMetaData rowCacheProvider(IRowCacheProvider prop) { 
rowCacheProvider = prop; return this;};
 
@@ -236,6 +239,7 @@ public final class CFMetaData
         defaultValidator = BytesType.instance;
         keyValidator = BytesType.instance;
         comment = "";
+        keyAlias = null; // This qualifies as a 'strange default'.
         column_metadata = new HashMap<ByteBuffer,ColumnDefinition>();
     }
 
@@ -335,6 +339,7 @@ public final class CFMetaData
         cf.memtable_throughput_in_mb = memtableThroughputInMb;
         cf.memtable_operations_in_millions = memtableOperationsInMillions;
         cf.merge_shards_chance = mergeShardsChance;
+        cf.key_alias = keyAlias;
         cf.column_metadata = SerDeUtils.createArray(column_metadata.size(),
                                                     
org.apache.cassandra.db.migration.avro.ColumnDef.SCHEMA$);
         for (ColumnDefinition cd : column_metadata.values())
@@ -399,6 +404,7 @@ public final class CFMetaData
                 throw new RuntimeException(e);
             }
         }
+        if (cf.key_alias != null) { newCFMD.keyAlias(cf.key_alias); }
 
         return newCFMD.comment(cf.comment.toString())
                       .rowCacheSize(cf.row_cache_size)
@@ -496,6 +502,11 @@ public final class CFMetaData
         return rowCacheProvider;
     }
 
+    public ByteBuffer getKeyAlias()
+    {
+        return keyAlias;
+    }
+
     public Map<ByteBuffer, ColumnDefinition> getColumn_metadata()
     {
         return Collections.unmodifiableMap(column_metadata);
@@ -506,7 +517,7 @@ public final class CFMetaData
         return superColumnName == null ? comparator : subcolumnComparator;
     }
     
-    public boolean equals(Object obj) 
+    public boolean equals(Object obj)
     {
         if (obj == this)
         {
@@ -542,6 +553,7 @@ public final class CFMetaData
             .append(memtableThroughputInMb, rhs.memtableThroughputInMb)
             .append(memtableOperationsInMillions, 
rhs.memtableOperationsInMillions)
             .append(mergeShardsChance, rhs.mergeShardsChance)
+            .append(keyAlias, rhs.keyAlias)
             .isEquals();
     }
 
@@ -571,6 +583,7 @@ public final class CFMetaData
             .append(memtableThroughputInMb)
             .append(memtableOperationsInMillions)
             .append(mergeShardsChance)
+            .append(keyAlias)
             .toHashCode();
     }
 
@@ -612,7 +625,49 @@ public final class CFMetaData
         if (!cf_def.isSetRow_cache_provider())
             
cf_def.setRow_cache_provider(CFMetaData.DEFAULT_ROW_CACHE_PROVIDER);
     }
-    
+
+    public static CFMetaData 
convertToCFMetaData(org.apache.cassandra.thrift.CfDef cf_def) throws 
InvalidRequestException, ConfigurationException
+    {
+        ColumnFamilyType cfType = ColumnFamilyType.create(cf_def.column_type);
+        if (cfType == null)
+        {
+          throw new InvalidRequestException("Invalid column type " + 
cf_def.column_type);
+        }
+
+        applyImplicitDefaults(cf_def);
+
+        validateMinMaxCompactionThresholds(cf_def);
+        validateMemtableSettings(cf_def);
+        validateAliasCompares(cf_def);
+
+        CFMetaData newCFMD = new CFMetaData(cf_def.keyspace,
+                                            cf_def.name,
+                                            cfType,
+                                            
DatabaseDescriptor.getComparator(cf_def.comparator_type),
+                                            cf_def.subcomparator_type == null 
? null : DatabaseDescriptor.getComparator(cf_def.subcomparator_type));
+
+        if (cf_def.isSetGc_grace_seconds()) { 
newCFMD.gcGraceSeconds(cf_def.gc_grace_seconds); }
+        if (cf_def.isSetMin_compaction_threshold()) { 
newCFMD.minCompactionThreshold(cf_def.min_compaction_threshold); }
+        if (cf_def.isSetMax_compaction_threshold()) { 
newCFMD.maxCompactionThreshold(cf_def.max_compaction_threshold); }
+        if (cf_def.isSetRow_cache_save_period_in_seconds()) { 
newCFMD.rowCacheSavePeriod(cf_def.row_cache_save_period_in_seconds); }
+        if (cf_def.isSetKey_cache_save_period_in_seconds()) { 
newCFMD.keyCacheSavePeriod(cf_def.key_cache_save_period_in_seconds); }
+        if (cf_def.isSetMemtable_flush_after_mins()) { 
newCFMD.memTime(cf_def.memtable_flush_after_mins); }
+        if (cf_def.isSetMemtable_throughput_in_mb()) { 
newCFMD.memSize(cf_def.memtable_throughput_in_mb); }
+        if (cf_def.isSetMemtable_operations_in_millions()) { 
newCFMD.memOps(cf_def.memtable_operations_in_millions); }
+        if (cf_def.isSetMerge_shards_chance()) { 
newCFMD.mergeShardsChance(cf_def.merge_shards_chance); }
+        if (cf_def.isSetRow_cache_provider()) { 
newCFMD.rowCacheProvider(FBUtilities.newCacheProvider(cf_def.row_cache_provider));
 }
+        if (cf_def.isSetKey_alias()) { newCFMD.keyAlias(cf_def.key_alias); }
+
+        return newCFMD.comment(cf_def.comment)
+                      .rowCacheSize(cf_def.row_cache_size)
+                      .keyCacheSize(cf_def.key_cache_size)
+                      .readRepairChance(cf_def.read_repair_chance)
+                      .replicateOnWrite(cf_def.replicate_on_write)
+                      
.defaultValidator(DatabaseDescriptor.getComparator(cf_def.default_validation_class))
+                      
.keyValidator(DatabaseDescriptor.getComparator(cf_def.key_validation_class))
+                      
.columnMetadata(ColumnDefinition.fromColumnDef(cf_def.column_metadata));
+    }
+
     // merges some final fields from this CFM with modifiable fields from 
CfDef into a new CFMetaData.
     public void apply(org.apache.cassandra.db.migration.avro.CfDef cf_def) 
throws ConfigurationException
     {
@@ -638,6 +693,7 @@ public final class CFMetaData
 
         validateMinMaxCompactionThresholds(cf_def);
         validateMemtableSettings(cf_def);
+        validateAliasCompares(cf_def);
 
         comment = enforceCommentNotNull(cf_def.comment);
         rowCacheSize = cf_def.row_cache_size;
@@ -657,7 +713,8 @@ public final class CFMetaData
         mergeShardsChance = cf_def.merge_shards_chance;
         if (cf_def.row_cache_provider != null)
             rowCacheProvider = 
FBUtilities.newCacheProvider(cf_def.row_cache_provider.toString());
-        
+        keyAlias = cf_def.key_alias;
+
         // adjust secondary indexes. figure out who is coming and going.
         Set<ByteBuffer> toRemove = new HashSet<ByteBuffer>();
         Set<ByteBuffer> newIndexNames = new HashSet<ByteBuffer>();
@@ -723,6 +780,7 @@ public final class CFMetaData
         def.setMemtable_throughput_in_mb(cfm.memtableThroughputInMb);
         
def.setMemtable_operations_in_millions(cfm.memtableOperationsInMillions);
         def.setMerge_shards_chance(cfm.mergeShardsChance);
+        def.setKey_alias(cfm.keyAlias);
         List<org.apache.cassandra.thrift.ColumnDef> column_meta = new 
ArrayList< org.apache.cassandra.thrift.ColumnDef>(cfm.column_metadata.size());
         for (ColumnDefinition cd : cfm.column_metadata.values())
         {
@@ -767,6 +825,7 @@ public final class CFMetaData
         def.memtable_operations_in_millions = cfm.memtableOperationsInMillions;
         def.merge_shards_chance = cfm.mergeShardsChance;
         def.key_validation_class = cfm.keyValidator.getClass().getName();
+        def.key_alias = cfm.keyAlias;
         List<org.apache.cassandra.db.migration.avro.ColumnDef> column_meta = 
new 
ArrayList<org.apache.cassandra.db.migration.avro.ColumnDef>(cfm.column_metadata.size());
         for (ColumnDefinition cd : cfm.column_metadata.values())
         {
@@ -807,6 +866,7 @@ public final class CFMetaData
         newDef.row_cache_size = def.getRow_cache_size();
         newDef.subcomparator_type = def.getSubcomparator_type();
         newDef.merge_shards_chance = def.getMerge_shards_chance();
+        newDef.key_alias = def.key_alias;
 
         List<org.apache.cassandra.db.migration.avro.ColumnDef> columnMeta = 
new ArrayList<org.apache.cassandra.db.migration.avro.ColumnDef>();
         if (def.isSetColumn_metadata())
@@ -905,6 +965,20 @@ public final class CFMetaData
             
DatabaseDescriptor.validateMemtableOperations(cf_def.memtable_operations_in_millions);
     }
 
+    public static void validateAliasCompares(org.apache.cassandra.thrift.CfDef 
cf_def) throws ConfigurationException
+    {
+        AbstractType comparator = 
DatabaseDescriptor.getComparator(cf_def.comparator_type);
+        if (cf_def.key_alias != null)
+            comparator.validate(cf_def.key_alias);
+    }
+
+    public static void 
validateAliasCompares(org.apache.cassandra.db.migration.avro.CfDef cf_def) 
throws ConfigurationException
+    {
+        AbstractType comparator = 
DatabaseDescriptor.getComparator(cf_def.comparator_type);
+        if (cf_def.key_alias != null)
+            comparator.validate(cf_def.key_alias);
+    }
+
     @Override
     public String toString()
     {
@@ -931,6 +1005,7 @@ public final class CFMetaData
             .append("memtableThroughputInMb", memtableThroughputInMb)
             .append("memtableOperationsInMillions", 
memtableOperationsInMillions)
             .append("mergeShardsChance", mergeShardsChance)
+            .append("keyAlias", keyAlias)
             .append("column_metadata", column_metadata)
             .toString();
     }

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java?rev=1091572&r1=1091571&r2=1091572&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java 
Tue Apr 12 21:08:08 2011
@@ -207,6 +207,7 @@ public class StorageService implements I
     public void finishBootstrapping()
     {
         isBootstrapMode = false;
+        SystemTable.setBootstrapped(true);
         setToken(getLocalToken());
         logger_.info("Bootstrap/move completed! Now serving reads.");
     }
@@ -439,14 +440,13 @@ public class StorageService implements I
             logger_.info("This node will not auto bootstrap because it is 
configured to be a seed node.");
 
         Token token;
-        boolean bootstrapped = false;
         if (DatabaseDescriptor.isAutoBootstrap()
             && 
!(DatabaseDescriptor.getSeeds().contains(FBUtilities.getLocalAddress()) || 
SystemTable.isBootstrapped()))
         {
-            setMode("Joining: getting load information", true);
+            setMode("Joining: getting load and schema information", true);
             StorageLoadBalancer.instance.waitForLoadInfo();
             if (logger_.isDebugEnabled())
-                logger_.debug("... got load info");
+                logger_.debug("... got load + schema info");
             if (tokenMetadata_.isMember(FBUtilities.getLocalAddress()))
             {
                 String s = "This node is already a member of the token ring; 
bootstrap aborted. (If replacing a dead node, remove the old one from the ring 
first.)";
@@ -459,8 +459,6 @@ public class StorageService implements I
             {
                 bootstrap(token);
                 assert !isBootstrapMode; // bootstrap will block until finished
-                bootstrapped = true;
-                SystemTable.setBootstrapped(true); // first startup is only 
chance to bootstrap
             }
             // else nothing to do, go directly to participating in ring
         }
@@ -485,7 +483,7 @@ public class StorageService implements I
             {
                 logger_.info("Using saved token " + token);
             }
-        } 
+        }
 
         SystemTable.setBootstrapped(true); // first startup is only chance to 
bootstrap
         setToken(token);

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraServer.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraServer.java?rev=1091572&r1=1091571&r2=1091572&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraServer.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraServer.java 
Tue Apr 12 21:08:08 2011
@@ -790,7 +790,7 @@ public class CassandraServer implements 
 
         try
         {
-            applyMigrationOnStage(new 
AddColumnFamily(convertToCFMetaData(cf_def)));
+            applyMigrationOnStage(new 
AddColumnFamily(CFMetaData.convertToCFMetaData(cf_def)));
             return DatabaseDescriptor.getDefsVersion().toString();
         }
         catch (ConfigurationException e)
@@ -855,7 +855,7 @@ public class CassandraServer implements 
             for (CfDef cfDef : ks_def.cf_defs)
             {
                 ThriftValidation.validateCfDef(cfDef);
-                cfDefs.add(convertToCFMetaData(cfDef));
+                cfDefs.add(CFMetaData.convertToCFMetaData(cfDef));
             }
 
             // Attempt to instantiate the ARS, which will throw a 
ConfigException if
@@ -996,45 +996,6 @@ public class CassandraServer implements 
             throw new SchemaDisagreementException();
     }
 
-    // @see CFMetaData.applyImplicitDefaults().
-    private CFMetaData convertToCFMetaData(CfDef cf_def) throws 
InvalidRequestException, ConfigurationException
-    {
-        ColumnFamilyType cfType = ColumnFamilyType.create(cf_def.column_type);
-        if (cfType == null)
-        {
-          throw new InvalidRequestException("Invalid column type " + 
cf_def.column_type);
-        }
-
-        CFMetaData.applyImplicitDefaults(cf_def);
-        CFMetaData.validateMinMaxCompactionThresholds(cf_def);
-        CFMetaData.validateMemtableSettings(cf_def);
-
-        CFMetaData newCFMD = new CFMetaData(cf_def.keyspace,
-                                            cf_def.name,
-                                            cfType,
-                                            
DatabaseDescriptor.getComparator(cf_def.comparator_type),
-                                            cf_def.subcomparator_type == null 
? null : DatabaseDescriptor.getComparator(cf_def.subcomparator_type));
-
-        if (cf_def.isSetGc_grace_seconds()) { 
newCFMD.gcGraceSeconds(cf_def.gc_grace_seconds); }
-        if (cf_def.isSetMin_compaction_threshold()) { 
newCFMD.minCompactionThreshold(cf_def.min_compaction_threshold); }
-        if (cf_def.isSetMax_compaction_threshold()) { 
newCFMD.maxCompactionThreshold(cf_def.max_compaction_threshold); }
-        if (cf_def.isSetRow_cache_save_period_in_seconds()) { 
newCFMD.rowCacheSavePeriod(cf_def.row_cache_save_period_in_seconds); }
-        if (cf_def.isSetKey_cache_save_period_in_seconds()) { 
newCFMD.keyCacheSavePeriod(cf_def.key_cache_save_period_in_seconds); }
-        if (cf_def.isSetMemtable_flush_after_mins()) { 
newCFMD.memTime(cf_def.memtable_flush_after_mins); }
-        if (cf_def.isSetMemtable_throughput_in_mb()) { 
newCFMD.memSize(cf_def.memtable_throughput_in_mb); }
-        if (cf_def.isSetMemtable_operations_in_millions()) { 
newCFMD.memOps(cf_def.memtable_operations_in_millions); }
-        if (cf_def.isSetMerge_shards_chance()) { 
newCFMD.mergeShardsChance(cf_def.merge_shards_chance); }
-        if (cf_def.isSetRow_cache_provider()) { 
newCFMD.rowCacheProvider(FBUtilities.newCacheProvider(cf_def.row_cache_provider));
 }
-
-        return newCFMD.comment(cf_def.comment)
-                      .rowCacheSize(cf_def.row_cache_size)
-                      .keyCacheSize(cf_def.key_cache_size)
-                      .readRepairChance(cf_def.read_repair_chance)
-                      .replicateOnWrite(cf_def.replicate_on_write)
-                      
.defaultValidator(DatabaseDescriptor.getComparator(cf_def.default_validation_class))
-                      
.columnMetadata(ColumnDefinition.fromColumnDef(cf_def.column_metadata));
-    }
-
     public void truncate(String cfname) throws InvalidRequestException, 
UnavailableException, TException
     {
         logger.debug("truncating {} in {}", cfname, state().getKeyspace());


Reply via email to