Robert Stupp created CASSANDRA-11633:
----------------------------------------

             Summary: cqlsh COPY FROM fails with []{} chars in UDT/tuple 
fields/values
                 Key: CASSANDRA-11633
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11633
             Project: Cassandra
          Issue Type: Bug
            Reporter: Robert Stupp
            Assignee: Robert Stupp
            Priority: Minor


Assuming you have a table with a UDT and the import CSV line looks like this:

{code}
ff92ee2f-2aa1-4008-bba7-5600112233b9,"{udt_field: 'N[24-26', other_field: '24', 
more_data: '}",,some,more,data,follows
{code}

cqlsh COPY FROM raises {{IndexError: tuple index out of range}} with a 
traceback like this:
{code}
  File "/Users/snazy/devel/cassandra/trunk/bin/../pylib/cqlshlib/copyutil.py", 
line 2271, in make_prepared_batch_statement
    statement._statements_and_parameters = [(True, query.query_id, 
query.bind(r).values) for r in batch['rows']]
  File 
"/Users/snazy/devel/cassandra/trunk/bin/../lib/cassandra-driver-internal-only-3.0.0-6af642d.zip/cassandra-driver-3.0.0-6af642d/cassandra/query.py",
 line 411, in bind
    return BoundStatement(self).bind(values)
  File 
"/Users/snazy/devel/cassandra/trunk/bin/../lib/cassandra-driver-internal-only-3.0.0-6af642d.zip/cassandra-driver-3.0.0-6af642d/cassandra/query.py",
 line 531, in bind
    self.values.append(col_spec.type.serialize(value, proto_version))
  File 
"/Users/snazy/devel/cassandra/trunk/bin/../lib/cassandra-driver-internal-only-3.0.0-6af642d.zip/cassandra-driver-3.0.0-6af642d/cassandra/cqltypes.py",
 line 686, in serialize
    return cls.serialize_safe(val, protocol_version)
  File 
"/Users/snazy/devel/cassandra/trunk/bin/../lib/cassandra-driver-internal-only-3.0.0-6af642d.zip/cassandra-driver-3.0.0-6af642d/cassandra/cqltypes.py",
 line 906, in serialize_safe
    item = val[i]
{code}

Reason is in {{ImportConversion._get_converter.split}} that accidentally 
recognizes square and curly brackets in quoted strings. Attached patch should 
fix this issue.



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

Reply via email to