You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by bl...@apache.org on 2015/12/01 18:14:55 UTC
[1/2] cassandra git commit: Rejects partition range deletions when
columns are specified
Repository: cassandra
Updated Branches:
refs/heads/cassandra-3.1 924fb4d50 -> 60aeef3d6
Rejects partition range deletions when columns are specified
patch by Benjamin Lerer; reviewed by Carl Yeksigian for CASSANDRA-10739
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3864b211
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3864b211
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3864b211
Branch: refs/heads/cassandra-3.1
Commit: 3864b2114ab11a02cf55e91c1e5553c9c4f854bc
Parents: 2af4fba
Author: Benjamin Lerer <b....@gmail.com>
Authored: Tue Dec 1 18:10:11 2015 +0100
Committer: Benjamin Lerer <b....@gmail.com>
Committed: Tue Dec 1 18:12:46 2015 +0100
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../apache/cassandra/cql3/statements/DeleteStatement.java | 6 ++++++
.../cassandra/cql3/validation/operations/DeleteTest.java | 8 ++++++++
3 files changed, 15 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3864b211/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index bd14e67..7fffbbf 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
3.0.1
+ * Rejects partition range deletions when columns are specified (CASSANDRA-10739)
* Fix error when saving cached key for old format sstable (CASSANDRA-10778)
* Invalidate prepared statements on DROP INDEX (CASSANDRA-10758)
* Fix SELECT statement with IN restrictions on partition key,
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3864b211/src/java/org/apache/cassandra/cql3/statements/DeleteStatement.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/DeleteStatement.java b/src/java/org/apache/cassandra/cql3/statements/DeleteStatement.java
index 0efe35c..daeecfe 100644
--- a/src/java/org/apache/cassandra/cql3/statements/DeleteStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/DeleteStatement.java
@@ -78,6 +78,12 @@ public class DeleteStatement extends ModificationStatement
{
if (!regularDeletions.isEmpty())
{
+ // if the clustering size is zero but there are some clustering columns, it means that it's a
+ // range deletion (the full partition) in which case we need to throw an error as range deletion
+ // do not support specific columns
+ checkFalse(clustering.size() == 0 && cfm.clusteringColumns().size() != 0,
+ "Range deletions are not supported for specific columns");
+
params.newRow(clustering);
for (Operation op : regularDeletions)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3864b211/test/unit/org/apache/cassandra/cql3/validation/operations/DeleteTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/cql3/validation/operations/DeleteTest.java b/test/unit/org/apache/cassandra/cql3/validation/operations/DeleteTest.java
index 5d9ef8f..4f35afa 100644
--- a/test/unit/org/apache/cassandra/cql3/validation/operations/DeleteTest.java
+++ b/test/unit/org/apache/cassandra/cql3/validation/operations/DeleteTest.java
@@ -718,6 +718,8 @@ public class DeleteTest extends CQLTester
// Test invalid queries
assertInvalidMessage("Range deletions are not supported for specific columns",
"DELETE value FROM %s WHERE partitionKey = ? AND clustering >= ?", 2, 1);
+ assertInvalidMessage("Range deletions are not supported for specific columns",
+ "DELETE value FROM %s WHERE partitionKey = ?", 2);
}
}
@@ -911,6 +913,12 @@ public class DeleteTest extends CQLTester
// Test invalid queries
assertInvalidMessage("Range deletions are not supported for specific columns",
"DELETE value FROM %s WHERE partitionKey = ? AND (clustering_1, clustering_2) >= (?, ?)", 2, 3, 1);
+ assertInvalidMessage("Range deletions are not supported for specific columns",
+ "DELETE value FROM %s WHERE partitionKey = ? AND clustering_1 >= ?", 2, 3);
+ assertInvalidMessage("Range deletions are not supported for specific columns",
+ "DELETE value FROM %s WHERE partitionKey = ? AND clustering_1 = ?", 2, 3);
+ assertInvalidMessage("Range deletions are not supported for specific columns",
+ "DELETE value FROM %s WHERE partitionKey = ?", 2);
}
}
[2/2] cassandra git commit: Merge branch 'cassandra-3.0' into
cassandra-3.1
Posted by bl...@apache.org.
Merge branch 'cassandra-3.0' into cassandra-3.1
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/60aeef3d
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/60aeef3d
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/60aeef3d
Branch: refs/heads/cassandra-3.1
Commit: 60aeef3d663d18243b19e56b9f1f9d95a1d28908
Parents: 924fb4d 3864b21
Author: Benjamin Lerer <b....@gmail.com>
Authored: Tue Dec 1 18:14:58 2015 +0100
Committer: Benjamin Lerer <b....@gmail.com>
Committed: Tue Dec 1 18:14:58 2015 +0100
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../apache/cassandra/cql3/statements/DeleteStatement.java | 6 ++++++
.../cassandra/cql3/validation/operations/DeleteTest.java | 8 ++++++++
3 files changed, 15 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/60aeef3d/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 99777ec,7fffbbf..ed66b69
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,5 -1,5 +1,6 @@@
-3.0.1
+3.1
+Merged from 3.0:
+ * Rejects partition range deletions when columns are specified (CASSANDRA-10739)
* Fix error when saving cached key for old format sstable (CASSANDRA-10778)
* Invalidate prepared statements on DROP INDEX (CASSANDRA-10758)
* Fix SELECT statement with IN restrictions on partition key,