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),