clarify error messages for zero/multiple PKs
patch by Lyben Todorov; reviewed by jbellis for CASSANDRA-5875


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/873ce0cb
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/873ce0cb
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/873ce0cb

Branch: refs/heads/trunk
Commit: 873ce0cb3f05d55753f205092e681c963cd20fc4
Parents: 29605ae
Author: Jonathan Ellis <jbel...@apache.org>
Authored: Wed Aug 14 21:07:18 2013 -0500
Committer: Jonathan Ellis <jbel...@apache.org>
Committed: Thu Aug 15 11:38:56 2013 -0500

----------------------------------------------------------------------
 .../apache/cassandra/cql3/statements/CreateTableStatement.java | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/873ce0cb/src/java/org/apache/cassandra/cql3/statements/CreateTableStatement.java
----------------------------------------------------------------------
diff --git 
a/src/java/org/apache/cassandra/cql3/statements/CreateTableStatement.java 
b/src/java/org/apache/cassandra/cql3/statements/CreateTableStatement.java
index 4037f40..a220366 100644
--- a/src/java/org/apache/cassandra/cql3/statements/CreateTableStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/CreateTableStatement.java
@@ -212,8 +212,10 @@ public class CreateTableStatement extends 
SchemaAlteringStatement
                 stmt.columns.put(id, pt.getType()); // we'll remove what is 
not a column below
             }
 
-            if (keyAliases.size() != 1)
-                throw new InvalidRequestException("You must specify one and 
only one PRIMARY KEY");
+            if (keyAliases.isEmpty())
+                throw new InvalidRequestException("No PRIMARY KEY specifed 
(exactly one required)");
+            else if (keyAliases.size() > 1)
+                throw new InvalidRequestException("Multiple PRIMARY KEYs 
specifed (exactly one required)");
 
             List<ColumnIdentifier> kAliases = keyAliases.get(0);
 

Reply via email to