Details
-
Bug
-
Status: Resolved
-
Low
-
Resolution: Fixed
-
None
-
Low
Description
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:
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)
Attachments
Attachments
Issue Links
- is broken by
-
CASSANDRA-7523 add date and time types
- Resolved
- is related to
-
CASSANDRA-10311 AbstractType value compatibility checks are broken for some of the implementations
- Resolved