You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by br...@apache.org on 2015/09/17 22:06:39 UTC
[02/17] cassandra git commit: Fix IndexOutOfBoundsException when
using empty BATCH statements
Fix IndexOutOfBoundsException when using empty BATCH statements
patch by Vovodroid; reviewed by Benjamin Lerer for CASSANDRA-10277
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1a2a1d2c
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1a2a1d2c
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1a2a1d2c
Branch: refs/heads/trunk
Commit: 1a2a1d2c24b777d4c9ea9106e0e7199c7b91fa29
Parents: b62fde1
Author: Vovodroid <vo...@gmail.com>
Authored: Thu Sep 17 20:57:51 2015 +0200
Committer: blerer <be...@datastax.com>
Committed: Thu Sep 17 20:57:51 2015 +0200
----------------------------------------------------------------------
.../org/apache/cassandra/cql3/statements/BatchStatement.java | 2 +-
.../apache/cassandra/cql3/validation/operations/BatchTest.java | 6 ++++++
2 files changed, 7 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/1a2a1d2c/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java b/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java
index 0661b56..46dfda5 100644
--- a/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java
@@ -510,7 +510,7 @@ public class BatchStatement implements CQLStatement
// Use the CFMetadata of the first statement for partition key bind indexes. If the statements affect
// multiple tables, we won't send partition key bind indexes.
- Short[] partitionKeyBindIndexes = haveMultipleCFs ? null
+ Short[] partitionKeyBindIndexes = (haveMultipleCFs || batchStatement.statements.isEmpty())? null
: boundNames.getPartitionKeyBindIndexes(batchStatement.statements.get(0).cfm);
return new ParsedStatement.Prepared(batchStatement, boundNames, partitionKeyBindIndexes);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/1a2a1d2c/test/unit/org/apache/cassandra/cql3/validation/operations/BatchTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/cql3/validation/operations/BatchTest.java b/test/unit/org/apache/cassandra/cql3/validation/operations/BatchTest.java
index 1447845..07117fd 100644
--- a/test/unit/org/apache/cassandra/cql3/validation/operations/BatchTest.java
+++ b/test/unit/org/apache/cassandra/cql3/validation/operations/BatchTest.java
@@ -103,4 +103,10 @@ public class BatchTest extends CQLTester
row(111, "batchtext", null)
);
}
+
+ @Test
+ public void testBatchEmpty() throws Throwable
+ {
+ execute("BEGIN BATCH APPLY BATCH;");
+ }
}