You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "paul cannon (JIRA)" <ji...@apache.org> on 2012/08/31 04:35:08 UTC
[jira] [Commented] (CASSANDRA-4594) COPY TO and COPY FROM don't
default to consistent ordering of columns
[ https://issues.apache.org/jira/browse/CASSANDRA-4594?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13445584#comment-13445584 ]
paul cannon commented on CASSANDRA-4594:
----------------------------------------
This is because a {{select * from airplanes;}} does not give the columns in the order they were defined. I'm not sure why not; if that's a bug in C*, then we should fix that. If there isn't supposed to be any expectation of order, then cqlsh should be inspecting the columns and specifying them explicitly.
> COPY TO and COPY FROM don't default to consistent ordering of columns
> ---------------------------------------------------------------------
>
> Key: CASSANDRA-4594
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4594
> Project: Cassandra
> Issue Type: Bug
> Environment: Happens in CQLSH 2, may or may not happen in CQLSH 3
> Reporter: Tyler Patterson
> Assignee: paul cannon
> Priority: Minor
>
> Here is the input:
> {code}
> CREATE KEYSPACE test WITH strategy_class = 'SimpleStrategy' AND strategy_options:replication_factor = 1;
> USE test;
>
> CREATE TABLE airplanes (
> name text PRIMARY KEY,
> manufacturer ascii,
> year int,
> mach float
> );
>
> INSERT INTO airplanes (name, manufacturer, year, mach) VALUES ('P38-Lightning', 'Lockheed', 1937, '.7');
>
> COPY airplanes TO 'temp.cfg' WITH HEADER=true;
>
> TRUNCATE airplanes;
>
> COPY airplanes FROM 'temp.cfg' WITH HEADER=true;
>
> SELECT * FROM airplanes;
> {code}
> Here is what happens when executed. Note how it tried to import the float into the int column:
> {code}
> cqlsh:test> DROP KEYSPACE test;
> cqlsh:test> CREATE KEYSPACE test WITH strategy_class = 'SimpleStrategy' AND strategy_options:replication_factor = 1;
> cqlsh:test> USE test;
> cqlsh:test>
> cqlsh:test> CREATE TABLE airplanes (
> ... name text PRIMARY KEY,
> ... manufacturer ascii,
> ... year int,
> ... mach float
> ... );
> cqlsh:test>
> cqlsh:test> INSERT INTO airplanes (name, manufacturer, year, mach) VALUES ('P38-Lightning', 'Lockheed', 1937, '.7');
> cqlsh:test>
> cqlsh:test> COPY airplanes TO 'temp.cfg' WITH HEADER=true;
> 1 rows exported in 0.003 seconds.
> cqlsh:test> TRUNCATE airplanes;
> cqlsh:test>
> cqlsh:test> COPY airplanes FROM 'temp.cfg' WITH HEADER=true;
> Bad Request: unable to make int from '0.7'
> Aborting import at record #0 (line 1). Previously-inserted values still present.
> 0 rows imported in 0.002 seconds.
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira