You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jonathan Ellis (JIRA)" <ji...@apache.org> on 2013/06/18 15:37:21 UTC

[jira] [Reopened] (CASSANDRA-5648) Cassandra: Insert of null value not possible with CQL3?

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

Jonathan Ellis reopened CASSANDRA-5648:
---------------------------------------


Agreed that null != empty byte buffer, so the description is invalid in that respect, but it's correct in that the semantics of {{INSERT INTO foo(key, column1) VALUES ('test', 'test2');}} and {{INSERT INTO foo(key, column1, foo) VALUES ('test', 'test2', 'test3');}} are different and both are useful.

Specifically, it seems quite reasonable to me to support "I want to insert just the PK columns without clobbering existing values if such exist."
                
> Cassandra: Insert of null value not possible with CQL3?
> -------------------------------------------------------
>
>                 Key: CASSANDRA-5648
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5648
>             Project: Cassandra
>          Issue Type: Bug
>          Components: API
>    Affects Versions: 1.2.0
>            Reporter: Tobias Schlottke
>            Assignee: Aleksey Yeschenko
>             Fix For: 1.2.6
>
>
> Hi there,
> I'm trying to migrate a project from thrift to cql3/java driver and I'm experiencing a strange problem.
> Schema:
> {code}
> CREATE TABLE foo (
>   key ascii,
>   column1 ascii,
>   foo ascii,
>   PRIMARY KEY (key, column1)
> ) WITH COMPACT STORAGE;
> {code}
> The table just consists of a primary key and a value, sometimes all the information lies in the key though, so the value is not needed.
> Through the thrift interface, it just works fine to leave out "foo".
> Executing this query:
> {code}
> INSERT INTO foo(key, column1) VALUES ('test', 'test2');
> {code}
> Fails with
> "Bad Request: Missing mandatory column foo"
> though.
> Explicitly inserting "null" as a value does not store the column / deletes the old one with a "null" value inserted through thrift.
> Inserting an empty String works fine, but this seems a bit bloated.
> Is this intended to (not) work this way?
> Best,
> Tobias

--
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