cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benjamin Lerer (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-10532) Allow LWT operation on static column with only partition keys
Date Wed, 13 Jan 2016 13:04:39 GMT


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:
>             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
> {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

View raw message