Return InvalidRequest when using a keyspace that doesn't exist patch by jbellis; reviewed by pcannon for CASSANDRA-3764
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/372a3ade Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/372a3ade Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/372a3ade Branch: refs/heads/trunk Commit: 372a3ade515b307209ea078358fa8777eda10599 Parents: 37b0793 Author: Jonathan Ellis <[email protected]> Authored: Tue Jan 24 18:52:14 2012 -0600 Committer: Jonathan Ellis <[email protected]> Committed: Tue Jan 24 20:19:26 2012 -0600 ---------------------------------------------------------------------- CHANGES.txt | 2 ++ .../org/apache/cassandra/service/ClientState.java | 12 +++++------- 2 files changed, 7 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/372a3ade/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index c7a228f..06ac8a0 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -54,6 +54,8 @@ 1.0.8 + * Return InvalidRequest when using a keyspace that doesn't exist + (CASSANDRA-3764) * disallow user modification of System keyspace (CASSANDRA-3738) * allow using sstable2json on secondary index data (CASSANDRA-3738) * (cqlsh) add DESCRIBE COLUMNFAMILIES (CASSANDRA-3586) http://git-wip-us.apache.org/repos/asf/cassandra/blob/372a3ade/src/java/org/apache/cassandra/service/ClientState.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/service/ClientState.java b/src/java/org/apache/cassandra/service/ClientState.java index 0ea7272..d2df8a9 100644 --- a/src/java/org/apache/cassandra/service/ClientState.java +++ b/src/java/org/apache/cassandra/service/ClientState.java @@ -18,12 +18,7 @@ package org.apache.cassandra.service; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -32,6 +27,7 @@ import org.apache.cassandra.auth.AuthenticatedUser; import org.apache.cassandra.auth.Permission; import org.apache.cassandra.auth.Resources; import org.apache.cassandra.config.DatabaseDescriptor; +import org.apache.cassandra.config.Schema; import org.apache.cassandra.cql.CQLStatement; import org.apache.cassandra.db.Table; import org.apache.cassandra.thrift.AuthenticationException; @@ -86,8 +82,10 @@ public class ClientState return keyspace; } - public void setKeyspace(String ks) + public void setKeyspace(String ks) throws InvalidRequestException { + if (Schema.instance.getKSMetaData(ks) == null) + throw new InvalidRequestException("Keyspace '" + ks + "' does not exist"); keyspace = ks; }
