There is nothing in the 0.8 trunk to add double support. 

Could you shift the decimal point and use ints / longs ? Double is not a 
precise type, so there is a possibility of the value changing as it's 
serialised and deserialised around. 

You were on the right track with extending abstract type. You would also need 
to work out a precise binary representation for the numbers.

Hope that helps. 
Aaron
On 14 Mar 2011, at 13:36, Paul Teasdale wrote:

> I am quite new to Cassandra and am trying to model a simple Column Family 
> which uses Doubles as column names:
> 
> Datalines: { // ColumnFamilly
>       dataline-1:{ // row key
>               23.5: 'someValue',
>               23.6: 'someValue',
>               ...
>                4334.99: 'someValue'
>       },
>       dataline-2:{
>               10.5: 'someValue',
>               12.6: 'someValue',
>               ...
>                23334.99: 'someValue'
>       },
>       ...
>       dataline-n:{
>       10.5: 'someValue',
>               12.6: 'someValue',
>               ...
>                23334.99: 'someValue'
>           }
> }
> 
> In declaring this column family, I need to specify a 'CompareWith' attribute 
> for a Double type, but the only available values I found for this attribute 
> are:
>       
>  * BytesType
>  * AsciiType
>  * UTF8Type
>  * LongType
>  * LexicalUUIDType
>  * TimeUUIDType
> 
> Is there any support anywere for double values (there has to be something)? 
> And if not, does this mean we need to extend  
> org.apache.cassandra.db.marshal.AbstractType<Double>?
> 
> package  com.mycom.types;
> 
> class  DoubleType extends 
> org.apache.cassandra.db.marshal.AbstractType<Double> {
>      public int compare(ByteBuffer o1, ByteBuffer o2){
>        // trivial implementation         
>            Double d1  = o1.getDouble(0);
>          Double d2 = o2.getDoube(0);
>          return d1.compareTo(d2);
>      }                
>      //...
> }
> 
> And declare the column family:
> 
> <ColumnFamily CompareWith="<com.mycom.types.DoubleType>" Name="Datalines"/>
> 
> Thanks,
> Paul
> 
> 
> 
> 
> 
> 
> 

Reply via email to