[ 
https://issues.apache.org/jira/browse/CASSANDRA-15345?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Konstantin updated CASSANDRA-15345:
-----------------------------------
    Description: 
The below example conditional update is wrongly evaluated to True and applied 
even though clustering key 'k1' is not present in the table:

{{CREATE KEYSPACE test_keyspace WITH replication = \{'class': 'SimpleStrategy', 
'replication_factor': 1};}}
{{CREATE TABLE test_table (id int, k text, version int static, v text, PRIMARY 
KEY (id, k));}}
{{INSERT INTO test_table(id, version) VALUES (0, 0);}}
{{SELECT * FROM test_table;}}{{id | k | version | v}}
{{----+------+---------+------}}
{{ 0 | null | 0 | null}}{{(1 rows)}}
{{SELECT * FROM test_table WHERE id=0 AND k='k1';}}{{id | k | version | v}}
{{----+---+---------+---}}{{(0 rows)}}
{{UPDATE test_table SET v='foo', version=1 WHERE id=0 AND k='k1' IF version = 
0;}}{{[applied]}}
{{-----------}}
{{ True}}{{SELECT * FROM test_table;}}{{id | k | version | v}}
{{----+----+---------+-----}}
{{ 0 | k1 | 1 | foo}}{{(1 rows)}}
{{DROP TABLE test_table;}}
{{DROP KEYSPACE test_keyspace;}}

  was:
The below example conditional update is wrongly evaluated to True and applied 
even though clustering key 'k1' is not present in the table:

{{CREATE KEYSPACE test_keyspace WITH replication = \{'class': 'SimpleStrategy', 
'replication_factor': 1};}}
 \{{ CREATE TABLE test_table (id int, k text, version int static, v text, 
PRIMARY KEY (id, k));}}
 \{{ INSERT INTO test_table(id, version) VALUES (0, 0);}}
 \{{ SELECT * FROM test_table;}}{{id | k | version | v}}
 {{ ----+++---------------------}}
 \{{ 0 | null | 0 | null}}{{(1 rows)}}
 \{{ SELECT * FROM test_table WHERE id=0 AND k='k1';}}{{id | k | version | v}}
 {{ ----+++---------------}}{{(0 rows)}}
 \{{ UPDATE test_table SET v='foo', version=1 WHERE id=0 AND k='k1' IF version 
= 0;}}{{[applied]}}
 \{{ -----------}}
 \{{ True}}{{SELECT * FROM test_table;}}{{id | k | version | v}}
 {{ ----+++------------------}}
 \{{ 0 | k1 | 1 | foo}}{{(1 rows)}}
 \{{ DROP TABLE test_table;}}
 \{{ DROP KEYSPACE test_keyspace;}}


> Incorrect result on conditional UPDATE with static and regular conditions
> -------------------------------------------------------------------------
>
>                 Key: CASSANDRA-15345
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-15345
>             Project: Cassandra
>          Issue Type: Bug
>          Components: CQL/Semantics
>            Reporter: Konstantin
>            Priority: Normal
>
> The below example conditional update is wrongly evaluated to True and applied 
> even though clustering key 'k1' is not present in the table:
> {{CREATE KEYSPACE test_keyspace WITH replication = \{'class': 
> 'SimpleStrategy', 'replication_factor': 1};}}
> {{CREATE TABLE test_table (id int, k text, version int static, v text, 
> PRIMARY KEY (id, k));}}
> {{INSERT INTO test_table(id, version) VALUES (0, 0);}}
> {{SELECT * FROM test_table;}}{{id | k | version | v}}
> {{----+------+---------+------}}
> {{ 0 | null | 0 | null}}{{(1 rows)}}
> {{SELECT * FROM test_table WHERE id=0 AND k='k1';}}{{id | k | version | v}}
> {{----+---+---------+---}}{{(0 rows)}}
> {{UPDATE test_table SET v='foo', version=1 WHERE id=0 AND k='k1' IF version = 
> 0;}}{{[applied]}}
> {{-----------}}
> {{ True}}{{SELECT * FROM test_table;}}{{id | k | version | v}}
> {{----+----+---------+-----}}
> {{ 0 | k1 | 1 | foo}}{{(1 rows)}}
> {{DROP TABLE test_table;}}
> {{DROP KEYSPACE test_keyspace;}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to