You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by al...@apache.org on 2014/08/02 12:40:59 UTC
git commit: Reject counters inside user types
Repository: cassandra
Updated Branches:
refs/heads/cassandra-2.1.0 85b743827 -> fb3995ae1
Reject counters inside user types
patch by Aleksey Yeschenko; tested by Russ Hatch; reviewed by Jonathan
Ellis for CASSANDRA-7672
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/fb3995ae
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fb3995ae
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fb3995ae
Branch: refs/heads/cassandra-2.1.0
Commit: fb3995ae13683de598624f2d689e1fb2d88d51bf
Parents: 85b7438
Author: Aleksey Yeschenko <al...@apache.org>
Authored: Sat Aug 2 13:40:00 2014 +0300
Committer: Aleksey Yeschenko <al...@apache.org>
Committed: Sat Aug 2 13:40:00 2014 +0300
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../apache/cassandra/cql3/statements/CreateTypeStatement.java | 7 ++++++-
2 files changed, 7 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/fb3995ae/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index f4b3921..eaa3b43 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
2.1.0-final
+ * Reject counters inside user types (CASSANDRA-7672)
* Switch to notification-based GCInspector (CASSANDRA-7638)
* (cqlsh) Handle nulls in UDTs and tuples correctly (CASSANDRA-7656)
* Don't use strict consistency when replacing (CASSANDRA-7568)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/fb3995ae/src/java/org/apache/cassandra/cql3/statements/CreateTypeStatement.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/CreateTypeStatement.java b/src/java/org/apache/cassandra/cql3/statements/CreateTypeStatement.java
index 1ddc8e6..5224474 100644
--- a/src/java/org/apache/cassandra/cql3/statements/CreateTypeStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/CreateTypeStatement.java
@@ -68,8 +68,13 @@ public class CreateTypeStatement extends SchemaAlteringStatement
KSMetaData ksm = Schema.instance.getKSMetaData(name.getKeyspace());
if (ksm == null)
throw new InvalidRequestException(String.format("Cannot add type in unknown keyspace %s", name.getKeyspace()));
+
if (ksm.userTypes.getType(name.getUserTypeName()) != null && !ifNotExists)
- throw new InvalidRequestException(String.format("A user type of name %s already exists.", name));
+ throw new InvalidRequestException(String.format("A user type of name %s already exists", name));
+
+ for (CQL3Type.Raw type : columnTypes)
+ if (type.isCounter())
+ throw new InvalidRequestException("A user type cannot contain counters");
}
public static void checkForDuplicateNames(UserType type) throws InvalidRequestException