cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-11805) Row deleted when value updated to null
Date Tue, 17 May 2016 08:56:12 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-11805?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15286245#comment-15286245
] 

Sylvain Lebresne commented on CASSANDRA-11805:
----------------------------------------------

Well, if you want to absolutely ensure that the row stays but the value for that column is
null, you can always batch your update with an insert on the primary key columns only, so
in your example:
{{noformat}}
BEGIN BATCH;
  INSERT INTO bbb(a, b) VALUES ('a', 'b');
  UPDATE bbb SET c = null WHERE a='a' AND b='b';
APPLY BATCH
{{noformat}}

> Row deleted when value updated to null
> --------------------------------------
>
>                 Key: CASSANDRA-11805
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11805
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>         Environment: C* 3.5, both single node and cluster, C* 3.6 snapshot single node
>            Reporter: Jaroslav Kamenik
>
> It seems that the behaviour of the value update to null differs when row is created by
insert or update. When it is inserted the row stays and the value is null, when updated the
row is deleted.
> Simple example:
> Inserts:
> create table aaa (a ascii, b ascii, c ascii, primary key (a,b));
> insert into aaa (a,b,c) values ('a','b','c');
> insert into aaa (a,b,c) values ('a','c','d');
> insert into aaa (a,b,c) values ('a','d','e');
> select * from aaa;
>  a | b | c
> ---+---+---
>  a | b | c
>  a | c | d
>  a | d | e
> update aaa set c = null where a='a' and b='b';
> select * from aaa;
>  a | b | c
> ---+---+------
>  a | b | null
>  a | c |    d
>  a | d |    e
> Updates:
> create table bbb (a ascii, b ascii, c ascii, primary key (a,b));
> update bbb set c = 'c' where a='a' and b='b';
> update bbb set c = 'd' where a='a' and b='c';
> update bbb set c = 'e' where a='a' and b='d';
> select * from bbb;
>  a | b | c
> ---+---+---
>  a | b | c
>  a | c | d
>  a | d | e
> update bbb set c = null where a='a' and b='b';
> select * from bbb;
>  a | b | c
> ---+---+---
>  a | c | d
>  a | d | e



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message