Author: gdusbabek
Date: Wed Jul 21 15:14:13 2010
New Revision: 966276

URL: http://svn.apache.org/viewvc?rev=966276&view=rev
Log:
avro schema changes for thrift parity. add cfid to cfdef. patch by stuhood, 
reviewed by gdusbabek. CASSANDRA-1186

Modified:
    cassandra/trunk/interface/cassandra.genavro
    cassandra/trunk/interface/cassandra.thrift
    cassandra/trunk/src/java/org/apache/cassandra/avro/CassandraServer.java

Modified: cassandra/trunk/interface/cassandra.genavro
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/interface/cassandra.genavro?rev=966276&r1=966275&r2=966276&view=diff
==============================================================================
--- cassandra/trunk/interface/cassandra.genavro (original)
+++ cassandra/trunk/interface/cassandra.genavro Wed Jul 21 15:14:13 2010
@@ -82,6 +82,22 @@ protocol Cassandra {
         union { Deletion, null } deletion;
     }
 
+    enum IndexType {
+        KEYS
+    }
+
+    /* describes a column in a column family. */
+    record ColumnDef {
+        bytes name;
+        string validation_class;
+        union { IndexType, null } index_type;
+        union { string, null } index_name;
+    }
+
+    /**
+     * describes a keyspace:
+     * NB: the id field is ignored during column family creation: the server 
will choose an appropriate value.
+     */
     record CfDef {
         string keyspace;
         string name;
@@ -95,8 +111,11 @@ protocol Cassandra {
         union { boolean, null } preload_row_cache;
         union { double, null } key_cache_size;
         union { double, null } read_repair_chance;
+        union { array<ColumnDef>, null } column_metadata;
+        union { int, null } id;
     }
 
+    /* describes a keyspace. */
     record KsDef {
         string name;
         string strategy_class;

Modified: cassandra/trunk/interface/cassandra.thrift
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/interface/cassandra.thrift?rev=966276&r1=966275&r2=966276&view=diff
==============================================================================
--- cassandra/trunk/interface/cassandra.thrift (original)
+++ cassandra/trunk/interface/cassandra.thrift Wed Jul 21 15:14:13 2010
@@ -346,6 +346,7 @@ enum IndexType {
     KEYS,
 }
 
+/* describes a column in a column family. */
 struct ColumnDef {
     1: required binary name,
     2: required string validation_class,

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/avro/CassandraServer.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/avro/CassandraServer.java?rev=966276&r1=966275&r2=966276&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/avro/CassandraServer.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/avro/CassandraServer.java Wed 
Jul 21 15:14:13 2010
@@ -637,6 +637,9 @@ public class CassandraServer implements 
 
                 }
 
+                if (cfDef.id != null)
+                    logger.warn("Ignoring 'id' field specified for new column 
family (%s, %s)", cfDef.keyspace, cfDef.name);
+
                 CFMetaData cfmeta = new CFMetaData(cfDef.keyspace.toString(),
                                                    cfDef.name.toString(),
                                                    
ColumnFamilyType.create(cfType),


Reply via email to