You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by gd...@apache.org on 2010/11/23 20:09:42 UTC
svn commit: r1038283 -
/cassandra/branches/cassandra-0.7/test/system/test_thrift_server.py
Author: gdusbabek
Date: Tue Nov 23 19:09:42 2010
New Revision: 1038283
URL: http://svn.apache.org/viewvc?rev=1038283&view=rev
Log:
system test for add/drop index. patch by thobbs, reviewed by gdusbabek. CASSANDRA-1764
Modified:
cassandra/branches/cassandra-0.7/test/system/test_thrift_server.py
Modified: cassandra/branches/cassandra-0.7/test/system/test_thrift_server.py
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/test/system/test_thrift_server.py?rev=1038283&r1=1038282&r2=1038283&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.7/test/system/test_thrift_server.py (original)
+++ cassandra/branches/cassandra-0.7/test/system/test_thrift_server.py Tue Nov 23 19:09:42 2010
@@ -1304,6 +1304,49 @@ class TestMutations(ThriftTester):
assert 'NewColumnFamily' not in [x.name for x in ks1.cf_defs]
assert 'Standard1' in [x.name for x in ks1.cf_defs]
+ def test_dynamic_indexes_creation_deletion(self):
+ _set_keyspace('Keyspace1')
+ cfdef = CfDef('Keyspace1', 'BlankCF')
+ client.system_add_column_family(cfdef)
+
+ ks1 = client.describe_keyspace('Keyspace1')
+ cfid = [x.id for x in ks1.cf_defs if x.name=='BlankCF'][0]
+ modified_cd = ColumnDef('birthdate', 'BytesType', IndexType.KEYS, 'birthdate_index')
+ modified_cf = CfDef('Keyspace1', 'BlankCF', column_metadata=[modified_cd])
+ modified_cf.id = cfid
+ client.system_update_column_family(modified_cf)
+
+ # Add a second indexed CF ...
+ birthdate_coldef = ColumnDef('birthdate', 'BytesType', IndexType.KEYS, 'birthdate_index')
+ age_coldef = ColumnDef('age', 'BytesType', IndexType.KEYS, 'age_index')
+ cfdef = CfDef('Keyspace1', 'BlankCF2', column_metadata=[birthdate_coldef, age_coldef])
+ client.system_add_column_family(cfdef)
+
+ # ... and update it to have a third index
+ ks1 = client.describe_keyspace('Keyspace1')
+ cfdef = [x for x in ks1.cf_defs if x.name=='BlankCF2'][0]
+ name_coldef = ColumnDef('name', 'BytesType', IndexType.KEYS, 'name_index')
+ cfdef.column_metadata.append(name_coldef)
+ client.system_update_column_family(cfdef)
+
+ # Now drop the indexes
+ ks1 = client.describe_keyspace('Keyspace1')
+ cfdef = [x for x in ks1.cf_defs if x.name=='BlankCF2'][0]
+ birthdate_coldef = ColumnDef('birthdate', 'BytesType', None, None)
+ age_coldef = ColumnDef('age', 'BytesType', None, None)
+ name_coldef = ColumnDef('name', 'BytesType', None, None)
+ cfdef.column_metadata = [birthdate_coldef, age_coldef, name_coldef]
+ client.system_update_column_family(cfdef)
+
+ ks1 = client.describe_keyspace('Keyspace1')
+ cfdef = [x for x in ks1.cf_defs if x.name=='BlankCF'][0]
+ birthdate_coldef = ColumnDef('birthdate', 'BytesType', None, None)
+ cfdef.column_metadata = [birthdate_coldef]
+ client.system_update_column_family(cfdef)
+
+ client.system_drop_column_family('BlankCF')
+ client.system_drop_column_family('BlankCF2')
+
def test_dynamic_indexes_with_system_update_cf(self):
_set_keyspace('Keyspace1')
cd = ColumnDef('birthdate', 'BytesType', None, None)