[ https://issues.apache.org/jira/browse/CASSANDRA-10532?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15096146#comment-15096146 ]
Benjamin Lerer commented on CASSANDRA-10532: -------------------------------------------- I ran some tests and found that the following queries were not rejected and should be: * {{DELETE static_col, value FROM %s WHERE pk = ? IF static_col = ?}} * {{DELETE static_col FROM %s WHERE pk = ? AND ck = ? IF value = ?}} Those problems are not caused by the patch but I think that we should nevertheless fix them within the context of this ticket. It also seems to me that our error messages could be improved. If we execute: {{DELETE static_col FROM %s WHERE ck = ? IF static_col = ?}} we get back an error message that tells us that {{all PRIMARY KEY columns}} must be restricted by equality. It is not true, only the partition keys columns must be restricted. The error message for {{DELETE static_col FROM %s WHERE pk = ? IF value = ? AND static_col = ?}} is also not pointing the user in the right direction. The error message should say that it is not possible to use a condition on a non static column for deleting a static one. Sorry for not noticing those problems earlier. > Allow LWT operation on static column with only partition keys > ------------------------------------------------------------- > > Key: CASSANDRA-10532 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10532 > Project: Cassandra > Issue Type: Improvement > Components: CQL > Environment: C* 2.2.0 > Reporter: DOAN DuyHai > Assignee: Carl Yeksigian > Fix For: 2.1.x, 2.2.x, 3.0.x, 3.x > > > Schema > {code:sql} > CREATE TABLE IF NOT EXISTS achilles_embedded.entity_with_static_column( > id bigint, > uuid uuid, > static_col text static, > value text, > PRIMARY KEY(id, uuid)); > {code} > When trying to prepare the following query > {code:sql} > DELETE static_col FROM achilles_embedded.entity_with_static_column WHERE > id=:id_Eq IF static_col=:static_col; > {code} > I got the error *DELETE statements must restrict all PRIMARY KEY columns with > equality relations in order to use IF conditions, but column 'uuid' is not > restricted* > Since the mutation only impacts the static column and the CAS check is on the > static column, it makes sense to provide only partition key -- This message was sent by Atlassian JIRA (v6.3.4#6332)