You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Stefania (JIRA)" <ji...@apache.org> on 2017/02/23 11:14:44 UTC

[jira] [Updated] (CASSANDRA-13071) cqlsh copy-from should error out when csv contains invalid data for collections

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

Stefania updated CASSANDRA-13071:
---------------------------------
    Status: Patch Available  (was: In Progress)

> cqlsh copy-from should error out when csv contains invalid data for collections
> -------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-13071
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-13071
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Tools
>            Reporter: Stefania
>            Assignee: Stefania
>            Priority: Minor
>             Fix For: 3.0.x, 3.11.x
>
>
> If the csv file contains invalid data for collection types, at the moment the data is imported incorrectly, an error would be a better behavior.
> For example this table:
> {code}
> CREATE TABLE test.test (key text, value frozen<set<text>>, PRIMARY KEY (key)); 
> {code}
> with this data:
> {code}
> "key1","{'test1', 'test2'}"
> "Key2","not_a_set"
> {code}
> will be imported by {{COPY test.test FROM 'test.csv';}} without errors but will result in the following data:
> {code}
> cqlsh> select * from test.test;
>  key  | value
> ------+--------------------
>  key1 | {'test1', 'test2'}
>  Key2 |        {'ot_a_se'}
> (2 rows)
> {code}
> The second row should have been rejected. The reason is that the [{{split}} function|https://github.com/stef1927/cassandra/blob/trunk/pylib/cqlshlib/copyutil.py#L1898] assumes that the first and last characters of the string passed in are parentheses, without actually checking it.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)