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)