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

Paulo Motta commented on CASSANDRA-13071:
-----------------------------------------

The fix looks good, but while testing I noticed that the following is still a 
valid CSV for the example above:
{noformat}
"key1","{'test1', 'test2'}"
"Key2","(this_is_a_set, hoho, blueh)"
"Key3","[this_as_well]"
{noformat}

Is this supposed to be working or are we supposed to use type-based delimiters 
({{\[\]}} for lists, ({{\{}}}) for maps/tuples, etc). If you agree this is a 
(minor) consistency issue, I'm fine with either fixing this here or opening 
another ticket for it.

The dtests results look good, but it seems they were not triggered using the 
new dtest branch you created so I re-triggered them using your branch. I will 
mark as ready to commit but please check them again before committing. Thanks!

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

Reply via email to