Author: jbellis Date: Mon Nov 8 20:27:44 2010 New Revision: 1032693 URL: http://svn.apache.org/viewvc?rev=1032693&view=rev Log: replace ad-hoc checks in update/set keyspace with ThriftValidation.validateTable patch by jbellis
Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/thrift/CassandraServer.java cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/thrift/ThriftValidation.java Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/thrift/CassandraServer.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/thrift/CassandraServer.java?rev=1032693&r1=1032692&r2=1032693&view=diff ============================================================================== --- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/thrift/CassandraServer.java (original) +++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/thrift/CassandraServer.java Mon Nov 8 20:27:44 2010 @@ -815,13 +815,11 @@ public class CassandraServer implements public String system_update_keyspace(KsDef ks_def) throws InvalidRequestException, TException { state().hasKeyspaceListAccess(Permission.WRITE); - + + ThriftValidation.validateTable(ks_def.name); if (ks_def.getCf_defs() != null && ks_def.getCf_defs().size() > 0) throw new InvalidRequestException("Keyspace update must not contain any column family definitions."); - if (DatabaseDescriptor.getTableDefinition(ks_def.name) == null) - throw new InvalidRequestException("Keyspace does not exist."); - try { KSMetaData ksm = new KSMetaData( @@ -935,11 +933,8 @@ public class CassandraServer implements public void set_keyspace(String keyspace) throws InvalidRequestException, TException { - if (DatabaseDescriptor.getTableDefinition(keyspace) == null) - { - throw new InvalidRequestException("Keyspace does not exist"); - } - + ThriftValidation.validateTable(keyspace); + state().setKeyspace(keyspace); } Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/thrift/ThriftValidation.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/thrift/ThriftValidation.java?rev=1032693&r1=1032692&r2=1032693&view=diff ============================================================================== --- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/thrift/ThriftValidation.java (original) +++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/thrift/ThriftValidation.java Mon Nov 8 20:27:44 2010 @@ -59,11 +59,11 @@ public class ThriftValidation } } - private static void validateTable(String tablename) throws KeyspaceNotDefinedException + public static void validateTable(String tablename) throws KeyspaceNotDefinedException { if (!DatabaseDescriptor.getTables().contains(tablename)) { - throw new KeyspaceNotDefinedException("Keyspace " + tablename + " does not exist in this schema."); + throw new KeyspaceNotDefinedException("Keyspace " + tablename + " does not exist"); } }