mirror of https://github.com/apache/cassandra
Merge branch 'cassandra-2.1' into cassandra-2.2
This commit is contained in:
commit
ef0e447add
|
|
@ -8,6 +8,7 @@
|
|||
* Deprecate Pig support (CASSANDRA-10542)
|
||||
* Reduce contention getting instances of CompositeType (CASSANDRA-10433)
|
||||
Merged from 2.1:
|
||||
* Reject counter writes in CQLSSTableWriter (CASSANDRA-10258)
|
||||
* Remove superfluous COUNTER_MUTATION stage mapping (CASSANDRA-10605)
|
||||
* Improve json2sstable error reporting on nonexistent columns (CASSANDRA-10401)
|
||||
* (cqlsh) fix COPY using wrong variable name for time_format (CASSANDRA-10633)
|
||||
|
|
|
|||
|
|
@ -457,6 +457,8 @@ public class CQLSSTableWriter implements Closeable
|
|||
this.boundNames = p.right;
|
||||
if (this.insert.hasConditions())
|
||||
throw new IllegalArgumentException("Conditional statements are not supported");
|
||||
if (this.insert.isCounter())
|
||||
throw new IllegalArgumentException("Counter update statements are not supported");
|
||||
if (this.boundNames.isEmpty())
|
||||
throw new IllegalArgumentException("Provided insert statement has no bind variables");
|
||||
return this;
|
||||
|
|
|
|||
|
|
@ -138,6 +138,28 @@ public class CQLSSTableWriterTest
|
|||
assertEquals(12, row.getInt("v2"));
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void testForbidCounterUpdates() throws Exception
|
||||
{
|
||||
String KS = "cql_keyspace";
|
||||
String TABLE = "counter1";
|
||||
|
||||
File tempdir = Files.createTempDir();
|
||||
File dataDir = new File(tempdir.getAbsolutePath() + File.separator + KS + File.separator + TABLE);
|
||||
assert dataDir.mkdirs();
|
||||
|
||||
String schema = "CREATE TABLE cql_keyspace.counter1 (" +
|
||||
" my_id int, " +
|
||||
" my_counter counter, " +
|
||||
" PRIMARY KEY (my_id)" +
|
||||
")";
|
||||
String insert = String.format("UPDATE cql_keyspace.counter1 SET my_counter = my_counter - ? WHERE my_id = ?");
|
||||
CQLSSTableWriter.builder().inDirectory(dataDir)
|
||||
.forTable(schema)
|
||||
.withPartitioner(StorageService.instance.getPartitioner())
|
||||
.using(insert).build();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSyncWithinPartition() throws Exception
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue