[ 
https://issues.apache.org/jira/browse/CASSANDRA-10027?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15002653#comment-15002653
 ] 

Joshua McKenzie commented on CASSANDRA-10027:
---------------------------------------------

+1.

Note: the patch you attached to this ticket is not for this ticket; dug around 
in your repo and reviewed based on the branch your tests are based off of.

We'll handle other potential bugs of this nature, as well as other bugs with 
conversion, in CASSANDRA-10311.

> ALTER TABLE TYPE check broken
> -----------------------------
>
>                 Key: CASSANDRA-10027
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10027
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Aaron Ploetz
>            Assignee: Benjamin Lerer
>            Priority: Minor
>             Fix For: 2.2.x, 3.0.x, 3.x
>
>         Attachments: cassandra-2.2-10271.txt
>
>
> I stumbled onto the fact that 2.2.0 will allow you to ALTER TYPE of a 
> {{varint}} to the new {{date}} type.  I thought that was an odd conversion to 
> allow, so I attempted to query it.  I received an error on all subsequent 
> queries, unless I exited or truncated the table.
> After truncating, I could then INSERT and query as normal.  But the new 
> {{varint}} values inserted simply were reflected as an offset of the minimum 
> {{varint}} value.
> I'm not sure why that's happening, but if we could simply prevent type 
> conversion between {{varint}} and {{date}} (and just show the "types are 
> incompatible" message) that should fix this.
> Steps to reproduce:
> {code}
> aploetz@cqlsh:typeconversion> CREATE TABLE varinttest (key int PRIMARY KEY, 
> c1 varint);
> aploetz@cqlsh:typeconversion> INSERT INTO varinttest (key, c1) VALUES (1,1);
> aploetz@cqlsh:typeconversion> SELECT * FROM varinttest ;
>  key | c1
> -----+----
>    1 |  1
> (1 rows)
> aploetz@cqlsh:typeconversion> ALTER TABLE varinttest ALTER c1 TYPE date;
> aploetz@cqlsh:typeconversion> SELECT * FROM varinttest ;
> Traceback (most recent call last):
>   File "/usr/bin/cqlsh.py", line 1150, in perform_simple_statement
>     rows = future.result(self.session.default_timeout)
>   File 
> "/usr/share/cassandra/lib/cassandra-driver-internal-only-2.6.0c2.post.zip/cassandra-driver-2.6.0c2.post/cassandra/cluster.py",
>  line 3296, in result
>     raise self._final_exception
> error: unpack requires a string argument of length 4
> aploetz@cqlsh:typeconversion> SELECT * FROM varinttest ;
> NoHostAvailable: ('Unable to complete the operation against any hosts', 
> {<Host: 127.0.0.1 PloetzLabs>: ConnectionShutdown('Connection to 127.0.0.1 is 
> defunct',)})
> aploetz@cqlsh:typeconversion> TRUNCATE varinttest ;
> aploetz@cqlsh:typeconversion> SELECT * FROM varinttest ;
>  key | c1
> -----+----
> (0 rows)
> aploetz@cqlsh:typeconversion> INSERT INTO varinttest (key, c1) VALUES (1,1);
> aploetz@cqlsh:typeconversion> INSERT INTO varinttest (key, c1) VALUES (2,2);
> aploetz@cqlsh:typeconversion> INSERT INTO varinttest (key, c1) VALUES (3,3);
> aploetz@cqlsh:typeconversion> SELECT * FROM varinttest ;
>  key | c1
> -----+-------------
>    1 | -2147483647
>    2 | -2147483646
>    3 | -2147483645
> (3 rows)
> {code}



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

Reply via email to