[
https://issues.apache.org/jira/browse/CASSANDRA-5715?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13721071#comment-13721071
]
Blair Zajac commented on CASSANDRA-5715:
----------------------------------------
Thanks for getting this in.
Is there syntax to support deleting the row with CAS? Is a CAS delete even
necessary?
Trying "DELETE FROM test1 WHERE k = 456 IF EXISTS" using cassandra-dbapi2:
cql.apivalues.ProgrammingError: Bad Request: line 0:-1 no viable alternative at
input '<EOF>'
Trying "DELETE FROM test1 WHERE k = 456 IF k = 456"
cql.apivalues.ProgrammingError: Bad Request: PRIMARY KEY part k found in SET
part
> CAS on 'primary key only' table
> -------------------------------
>
> Key: CASSANDRA-5715
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5715
> Project: Cassandra
> Issue Type: Improvement
> Reporter: Sylvain Lebresne
> Assignee: Sylvain Lebresne
> Priority: Minor
> Fix For: 2.0 beta 2
>
> Attachments: 0001-Conditions-on-INSERT.txt,
> 0002-Support-updating-the-PK-only.txt, 5715-v2.txt
>
>
> Given a table with only a primary key, like
> {noformat}
> CREATE TABLE test (k int PRIMARY KEY)
> {noformat}
> there is currently no way to CAS a row in that table into existing because:
> # INSERT doesn't currently support IF
> # UPDATE has no way to update such table
> So we should probably allow IF conditions on INSERT statements.
> In addition (or alternatively), we could work on allowing UPDATE to update
> such table. One motivation for that could be to make UPDATE always be more
> general to INSERT. That is currently, there is a bunch of operation that
> INSERT cannot do (counter increments, collection appends), but that "primary
> key table" case is, afaik, the only case where you *need* to use INSERT.
> However, because CQL forces segregation of PK value to the WHERE clause and
> not to the SET one, the only syntax that I can see work would be:
> {noformat}
> UPDATE WHERE k=0;
> {noformat}
> which maybe is too ugly to allow?
>
--
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