Details
-
Bug
-
Status: Resolved
-
Low
-
Resolution: Fixed
-
None
-
None
-
CQL3 Thrift methods (new)
-
Low
Description
I can successfully update a List using the "literal" syntax:
UPDATE testcollection SET L = [98,99,100] + L WHERE k = 1;
And I can successfully "upsert" a List using the "Prepared" syntax:
UPDATE testcollection SET L = ? WHERE k = 1
by providing a decoded List<Integer> in the bind values.
But using the "prepared" syntax for an prepend like:
UPDATE testcollection SET L = ? + L WHERE k = 1
fails with the following message:
java.sql.SQLSyntaxErrorException: InvalidRequestException(why:line 1:33 mismatched input '+' expecting K_WHERE)
at org.apache.cassandra.cql.jdbc.CassandraPreparedStatement.<init>(CassandraPreparedStatement.java:92)
...
...
and an append of a "prepared" syntax like:
UPDATE testcollection SET L = L + ? WHERE k = 1
fails as follows:
java.sql.SQLSyntaxErrorException: InvalidRequestException(why:invalid operation for non commutative columnfamily testcollection)
at org.apache.cassandra.cql.jdbc.CassandraPreparedStatement.<init>(CassandraPreparedStatement.java:92)
...
...