cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aleksey Yeschenko (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-7792) Fix cqlsh null handling in COPY FROM
Date Tue, 19 Aug 2014 19:47:20 GMT

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

Aleksey Yeschenko commented on CASSANDRA-7792:
----------------------------------------------

+1

> Fix cqlsh null handling in COPY FROM
> ------------------------------------
>
>                 Key: CASSANDRA-7792
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7792
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Tools
>            Reporter: Tyler Hobbs
>            Assignee: Tyler Hobbs
>            Priority: Minor
>             Fix For: 2.1.0
>
>         Attachments: 7792.txt
>
>
> In {{create_insert_statement()}}, we have the following logic:
> {noformat}
> if value != nullval:
>     if cqltype in ('ascii', 'text', 'timestamp', 'inet'):
>         rowmap[name] = protect_value(value)
>     else:
>         rowmap[name] = value
> elif name in clustering_key_columns and not type.empty_binary_ok:
>     rowmap[name] = 'blobAs%s(0x)' % cqltype.title()
> else:
>     rowmap[name] = 'null'
> {noformat}
> The first problem is that we're inserting empty binaries when the type should _not_ have
empty binaries.
> However, it could also be considered incorrect that we insert empty binaries for clustering
columns when we have something that matches the "null value".  This is to avoid inserting
nulls for clustering columns.  Of course, users may actually want to insert empty strings
for columns, but I think that if they want that behavior, changing the null value is the correct
way to do that.
> I propose changing the "elif" statement to something like:
> {noformat}
> elif name in primary_key_columns:
>     raise Exception("Nulls are not allowed in primary key columns")    
> {noformat}
> I set the fix version for this to 2.1.0.  If we're not comfortable making this entire
change in 2.1.0, we should at least remove the "not" in the elif and make the other changes
for 2.1.1



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message