In the Thrift schema, is the key_validation_class actually set to CompositeType(UTF8Type, UTF8Type), or is it just BytesType? What Cassandra version?
On Wed, Mar 30, 2016 at 4:44 PM, Jan Kesten <j.kes...@enercast.de> wrote: > Hi, > > while migrating the reminder of thrift operations in my application I came > across a point where I cant find a good hint. > > In our old code we used a composite with two strings as row / partition > key and a similar composite as column key like this: > > public Composite rowKey() { > final Composite composite = new Composite(); > composite.addComponent(key1, StringSerializer.get()); > composite.addComponent(key2, StringSerializer.get()); > return composite; > } > > public Composite columnKey() { > final Composite composite = new Composite(); > composite.addComponent(key3, StringSerializer.get()); > composite.addComponent(key4, StringSerializer.get()); > return composite; > } > > In cql this columnfamiliy looks like this: > > CREATE TABLE foo.bar ( > key blob, > column1 text, > column2 text, > value blob, > PRIMARY KEY (key, column1, column2) > ) > > For the columns key3 and key4 became column1 and column2 - but the old > rowkey is presented as blob (I can put it into a hex editor and see that > key1 and key2 values are in there). > > Any pointers to handle this or is this a known issue? I am using now > DataStax Java driver for CQL, old connector used thrift. Is there any way > to get key1 and key2 back apart from completly rewriting the table? This is > what I had expected it to be: > > CREATE TABLE foo.bar ( > key1 text, > key2 text, > column1 text, > column2 text, > value blob, > PRIMARY KEY ((key1, key2), column1, column2) > ) > > Cheers, > Jan > -- Tyler Hobbs DataStax <http://datastax.com/>