[
https://issues.apache.org/jira/browse/CASSANDRA-11004?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15102096#comment-15102096
]
Sylvain Lebresne commented on CASSANDRA-11004:
----------------------------------------------
We could indeed make a distinction between "fake" column and real one (and
{{[applied]}} is actually not the only one example, you can get {{[json]}},
{{[timestamp]}}, ...) in a protocol change. But it's not specific to LWT so
this needs to be a flag per-column and there is also the question of what the
driver does with it. Honestly, given that there is really no reason to use that
kind of name, I suspect it might be simpler and more practical to just
blacklist that kind of names from column names.
> LWT results '[applied]' column name collision
> ---------------------------------------------
>
> Key: CASSANDRA-11004
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11004
> Project: Cassandra
> Issue Type: Bug
> Reporter: Adam Holmberg
> Priority: Minor
> Fix For: 4.x
>
>
> LWT requests return a not-well-documented single row result with a boolean
> {{\[applied]}} column and optional column states.
> If the table happens to have a column named {{\[applied]}}, this causes a
> name collision. There is no error, but the {{\[applied]}} flag is not
> available.
> {code}
> cassandra@cqlsh:test> CREATE TABLE test (k int PRIMARY KEY , "[applied]" int);
> cassandra@cqlsh:test> INSERT INTO test (k, "[applied]") VALUES (2, 3) IF NOT
> EXISTS ;
> [applied]
> -----------
> True
> cassandra@cqlsh:test> INSERT INTO test (k, "[applied]") VALUES (2, 3) IF NOT
> EXISTS ;
> [applied] | k
> -----------+---
> 3 | 2
> {code}
> I doubt this comes up much (at all) in practice, but thought I'd mention it.
> One alternative approach might be to add a LWT result type
> ([flag|https://github.com/apache/cassandra/blob/cassandra-3.0/doc/native_protocol_v4.spec#L518-L522])
> that segregates the "applied" flag information optional row results.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)