Updated Branches: refs/heads/cassandra-1.2 d8e819386 -> 7c920b0bb
Fix insufficient validation of UPDATE queries against counter cfs patch by slebresne; reviewed by iamaleksey for CASSANDRA-5300 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/7c920b0b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/7c920b0b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/7c920b0b Branch: refs/heads/cassandra-1.2 Commit: 7c920b0bb88dffca61602c849df777725cc3153c Parents: d8e8193 Author: Sylvain Lebresne <sylv...@datastax.com> Authored: Fri Mar 1 14:25:44 2013 +0100 Committer: Sylvain Lebresne <sylv...@datastax.com> Committed: Fri Mar 1 14:25:44 2013 +0100 ---------------------------------------------------------------------- CHANGES.txt | 2 ++ src/java/org/apache/cassandra/cql3/Operation.java | 3 +++ 2 files changed, 5 insertions(+), 0 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/7c920b0b/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index 9d0468b..231de9c 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -3,6 +3,8 @@ not intersect the sstable (CASSANDRA-5249) * Don't lowercase property map keys (this breaks NTS) (CASSANDRA-5292) * Fix composite comparator with super columns (CASSANDRA-5287) + * Fix insufficient validation of UPDATE queries against counter cfs + (CASSANDRA-5300) Merged from 1.1: * nodetool: ability to repair specific range (CASSANDRA-5280) * Fix possible assertion triggered in SliceFromReadCommand (CASSANDRA-5284) http://git-wip-us.apache.org/repos/asf/cassandra/blob/7c920b0b/src/java/org/apache/cassandra/cql3/Operation.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/cql3/Operation.java b/src/java/org/apache/cassandra/cql3/Operation.java index 90887e0..2e16cea 100644 --- a/src/java/org/apache/cassandra/cql3/Operation.java +++ b/src/java/org/apache/cassandra/cql3/Operation.java @@ -159,6 +159,9 @@ public abstract class Operation { Term v = value.prepare(receiver); + if (receiver.type instanceof CounterColumnType) + throw new InvalidRequestException(String.format("Cannot set the value of counter column %s (counters can only be incremented/decremented, not set)", receiver)); + if (!(receiver.type instanceof CollectionType)) return new Constants.Setter(receiver.kind == CFDefinition.Name.Kind.VALUE_ALIAS ? null : receiver.name, v);