[ https://issues.apache.org/jira/browse/CASSANDRA-8779?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sylvain Lebresne updated CASSANDRA-8779: ---------------------------------------- Labels: client-impacting protocolv5 (was: client-impacting protocolv4) > Add type code to binary query parameters in QUERY messages > ---------------------------------------------------------- > > Key: CASSANDRA-8779 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8779 > Project: Cassandra > Issue Type: Improvement > Components: API > Environment: Linux Mint 64-bit | ruby-driver 2.1 | java-driver 2.1 | > C* 2.1.2 > Reporter: Kishan Karunaratne > Assignee: Tyler Hobbs > Labels: client-impacting, protocolv5 > Fix For: 3.x > > > If I insert a tuple using an extra pair of ()'s, C* will let me do the > insert, but (incorrectly) creates a nested tuple as the first tuple value. > Upon doing a select statement, the result is jumbled and has weird binary in > it (which I wasn't able to copy into here). > Example using ruby-driver: > {noformat} > session.execute("CREATE TABLE mytable (a int PRIMARY KEY, b > frozen<tuple<ascii, bigint, boolean>>)") > complete = Cassandra::Tuple.new('foo', 123, true) > session.execute("INSERT INTO mytable (a, b) VALUES (0, (?))", arguments: > [complete]) # extra ()'s here > result = session.execute("SELECT b FROM mytable WHERE a=0").first > p result['b'] > {noformat} > Output: > {noformat} > #<Cassandra::Tuple:0x97b328 (fo{, , )> > {noformat} > Bug also confirmed using java-driver. > Example using java-driver: > {noformat} > session.execute("CREATE TABLE mytable (a int PRIMARY KEY, b > frozen<tuple<ascii, int, boolean>>)"); > TupleType t = TupleType.of(DataType.ascii(), DataType.cint(), > DataType.cboolean()); > TupleValue complete = t.newValue("foo", 123, true); > session.execute("INSERT INTO mytable (a, b) VALUES (0, (?))", complete); // > extra ()'s here > TupleValue r = session.execute("SELECT b FROM mytable WHERE > a=0").one().getTupleValue("b"); > System.out.println(r); > {noformat} > Output: > {noformat} > ('foo{', null, null) > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)