André Paris created CASSANDRA-14505: ---------------------------------------
Summary: Removal of last element on a List deletes the entire row Key: CASSANDRA-14505 URL: https://issues.apache.org/jira/browse/CASSANDRA-14505 Project: Cassandra Issue Type: Bug Components: Core Environment: * Java: 1.8.0_171 * SO Ubuntu: 18.04 LTS * Cassandra: 3.11.2 Reporter: André Paris Fix For: 3.11.x The behavior of an element removal from a list by an UPDATE differs by how the row was created: Given the table {{CREATE TABLE table_test (}} {{ id int PRIMARY KEY,}} {{ list list<text>}} {{)}} If the row is created by an INSERT, the row remains after the UPDATE to remove the last element on the list: {{cqlsh:ks_test> INSERT INTO table_test (id, list ) VALUES ( 1, ['foo']) ;}} {{cqlsh:ks_test> SELECT * FROM table_test;}} {{ id | list}} {{----+---------}} {{ 1 | ['foo'] }} {{(1 rows)}} {{cqlsh:ks_test> UPDATE table_test SET list = list - ['foo'] WHERE id=1;}} {{cqlsh:ks_test> SELECT * FROM table_test;}} {{ id | list}} {{----+------}} {{ 1 | null}} {{(1 rows)}} But, if the row is created by an UPDATE, the row is deleted after the UPDATE to remove the last element on the list: {{cqlsh:ks_test> UPDATE table_test SET list = list + ['foo'] WHERE id=2;}} {{cqlsh:ks_test> SELECT * FROM table_test;}} {{ id | list}} {{----+---------}} {{ 2 | ['foo'] }} {{(1 rows)}} {{cqlsh:ks_test> UPDATE table_test SET list = list - ['foo'] WHERE id=2;}} {{cqlsh:ks_test> SELECT * FROM table_test;}} {{ id | list}} {{----+------}} {{(0 rows)}} -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org