cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stefania (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-12863) cqlsh COPY FROM cannot parse timestamp in partition key if table contains a counter value
Date Mon, 31 Oct 2016 02:01:04 GMT

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

Stefania updated CASSANDRA-12863:
---------------------------------
    Description: 
This sample table:

{code}
CREATE TABLE test (columnname text, day timestamp, israndom boolean, columnvalue text, counter
counter, PRIMARY KEY ((columnname, day, israndom), columnvalue));
{code}

with this sample data:

{code}
origins|2016-10-01 00:00:00+0000|False|ACTUAL|6
origins|2016-10-01 00:00:00+0000|False|ADGMOB|4
origins|2016-10-01 00:00:00+0000|False|ANONPM|4
origins|2016-10-01 00:00:00+0000|False|CSRT2L|76
origins|2016-10-01 00:00:00+0000|False|DIAGOP|18
origins|2016-10-01 00:00:00+0000|False|E-SOFT|17
origins|2016-10-01 00:00:00+0000|False|E-TASK|10
{code}

when imported with

{code}
COPY ks.test FROM 'test.csv' WITH DELIMITER = '|';
{code}

will generate a parse error:

{code}
Failed to import 7 rows: ParseError - can't interpret u"'2016-10-01 00:00:00+0000'" as a date
with this format: %Y-%m-%d %H:%M:%S%z,  given up without retries
{code}

The problem is that when a counter value is present, we don't use prepared statements and
so we typically don't convert values unless they are part of the partition key. We also add
quotes for certain types, such as timestamps. The problem is that we do not remove such quotes
before parsing the partition key values, therefore ending up with a parse error.

> cqlsh COPY FROM cannot parse timestamp in partition key if table contains a counter value
> -----------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-12863
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12863
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Tools
>            Reporter: Stefania
>            Assignee: Stefania
>             Fix For: 2.2.x, 3.0.x, 3.x
>
>
> This sample table:
> {code}
> CREATE TABLE test (columnname text, day timestamp, israndom boolean, columnvalue text,
counter counter, PRIMARY KEY ((columnname, day, israndom), columnvalue));
> {code}
> with this sample data:
> {code}
> origins|2016-10-01 00:00:00+0000|False|ACTUAL|6
> origins|2016-10-01 00:00:00+0000|False|ADGMOB|4
> origins|2016-10-01 00:00:00+0000|False|ANONPM|4
> origins|2016-10-01 00:00:00+0000|False|CSRT2L|76
> origins|2016-10-01 00:00:00+0000|False|DIAGOP|18
> origins|2016-10-01 00:00:00+0000|False|E-SOFT|17
> origins|2016-10-01 00:00:00+0000|False|E-TASK|10
> {code}
> when imported with
> {code}
> COPY ks.test FROM 'test.csv' WITH DELIMITER = '|';
> {code}
> will generate a parse error:
> {code}
> Failed to import 7 rows: ParseError - can't interpret u"'2016-10-01 00:00:00+0000'" as
a date with this format: %Y-%m-%d %H:%M:%S%z,  given up without retries
> {code}
> The problem is that when a counter value is present, we don't use prepared statements
and so we typically don't convert values unless they are part of the partition key. We also
add quotes for certain types, such as timestamps. The problem is that we do not remove such
quotes before parsing the partition key values, therefore ending up with a parse error.



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

Mime
View raw message