I've been trying to do some simple data modeling and since we're currently
using Hector have been doing that modeling with cassandra-cli and running
into issues with CompositeType columns.

If I do a "help set", I see:

The help for "create column family" shows:

create column family UseComposites
   with comparator = 'CompositeType(UTF8Type, Int32Type)'
   and caching='ALL';

The help for "set" shows:

set UseComposites[utf8('testkey')]['CompositeType(utf8(first),int(4))'] =
utf8('inserts this string into a column with name first:4');

This doesn't seem to be correct since since it's casting the entire value
into a utf8 as shown by this:

set UseComposites[utf8('testkey')]['CompositeType(utf8(first),int(4))'] =
utf8('inserts this string into a column with name first:4');
set UseComposites[utf8('testkey')]['CompositeType(utf8(first),int(34))'] =
utf8('inserts this string into a column with name first:4');

list UseComposites;

RowKey: 746573746b6579
=> (name=CompositeType(utf8(first),int(34)), value=inserts this string into
a column with name first:4, timestamp=1393337249636000)
=> (name=CompositeType(utf8(first),int(4)), value=inserts this string into
a column with name first:4, timestamp=1393337170861000)

I know I can use the set[foo][composite1:composite2] notation and this
appears to work for ascii or int types.

I'm trying to model with DateType and LongType and can't seem to coerce
anything into those components.

set long3[key2][long(1):long(1):long(1)] = utf8('1,1,1');
Syntax error at position 23: mismatched input ':' expecting ']'

Composites have been around for a long time...is this not supported or did
it get broken along the way or is the documentation just out of date?

Thanks!

Ken

Reply via email to