You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2010/11/08 21:27:44 UTC

svn commit: r1032693 - in /cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/thrift: CassandraServer.java ThriftValidation.java

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");
         }
     }