Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-11633

cqlsh COPY FROM fails with []{} chars in UDT/tuple fields/values

    XMLWordPrintableJSON

Details

    • Low

    Description

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

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

      cqlsh COPY FROM raises IndexError: tuple index out of range with a traceback like this:

        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]
      

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

      Attachments

        Activity

          People

            snazy Robert Stupp
            snazy Robert Stupp
            Robert Stupp
            Stefania Alborghetti
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: