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