[ https://issues.apache.org/jira/browse/CASSANDRA-4945?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sylvain Lebresne updated CASSANDRA-4945: ---------------------------------------- Attachment: (was: 4945.txt) > CQL3 does handle List append or prepend with a "Prepared" list > -------------------------------------------------------------- > > Key: CASSANDRA-4945 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4945 > Project: Cassandra > Issue Type: Bug > Affects Versions: 1.2.0 beta 2 > Environment: CQL3 Thrift methods (new) > Reporter: Rick Shaw > Assignee: Sylvain Lebresne > Priority: Minor > Fix For: 1.2.0 rc1 > > > I can successfully update a List using the "literal" syntax: > {code} > UPDATE testcollection SET L = [98,99,100] + L WHERE k = 1; > {code} > And I can successfully "upsert" a List using the "Prepared" syntax: > {code} > UPDATE testcollection SET L = ? WHERE k = 1 > {code} > by providing a decoded List<Integer> in the bind values. > But using the "prepared" syntax for an prepend like: > {code} > UPDATE testcollection SET L = ? + L WHERE k = 1 > {code} > fails with the following message: > {code} > java.sql.SQLSyntaxErrorException: InvalidRequestException(why:line 1:33 > mismatched input '+' expecting K_WHERE) > at > org.apache.cassandra.cql.jdbc.CassandraPreparedStatement.<init>(CassandraPreparedStatement.java:92) > ... > ... > {code} > and an append of a "prepared" syntax like: > {code} > UPDATE testcollection SET L = L + ? WHERE k = 1 > {code} > fails as follows: > {code} > java.sql.SQLSyntaxErrorException: InvalidRequestException(why:invalid > operation for non commutative columnfamily testcollection) > at > org.apache.cassandra.cql.jdbc.CassandraPreparedStatement.<init>(CassandraPreparedStatement.java:92) > ... > ... > {code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira