cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tarun Gupta <tarun.gu...@technogica.com>
Subject Re: Long type column names in reverse order
Date Fri, 20 Apr 2012 19:47:44 GMT
Thanks, This post helped a lot, I discovered that the built-in comparators
have a static instance called *reverseComparator.* My exact requirement was
to create an API that allows creating a Column family with the required
parameters, one such parameter was a flag that indicates the column order.
I am using Hector API for this purpose. The way I finally solved this is as
follows :

*public class ReverseColumnComparator extends  AbstractType<ByteBuffer> {*
* *
* private static Comparator<ByteBuffer> otherInstance =
BytesType.instance.reverseComparator ;*
* *
* public static final ReverseColumnComparator instance = new
ReverseColumnComparator();*
* *
* @Override*
* public int compare(ByteBuffer o1, ByteBuffer o2) {*
* return otherInstance.compare(o1, o2);*
* }*
* @Override*
* public ByteBuffer compose(ByteBuffer arg0) {*
* return BytesType.instance.compose(arg0);*
* }*
* @Override*
* public ByteBuffer decompose(ByteBuffer arg0) {*
* return BytesType.instance.decompose(arg0);*
* }*
* @Override*
* public String getString(ByteBuffer arg0) {*
* return BytesType.instance.getString(arg0);*
* }*
* @Override*
* public void validate(ByteBuffer arg0) throws MarshalException {*
* BytesType.instance.validate(arg0);*
* }*
*}*

Regards,
Tarun


On Fri, Apr 20, 2012 at 11:46 PM, Edward Capriolo <edlinuxguru@gmail.com>wrote:

> I think you can drop the compiler since that feature already exists.
>
> http://thelastpickle.com/2011/10/03/Reverse-Comparators/
>
>
> On Fri, Apr 20, 2012 at 12:57 PM, Tarun Gupta
> <tarun.gupta@technogica.com> wrote:
> > Hi,
> >
> > My requirements is to get retrieve column values, sorted by column names
> in
> > reverse order (column names are 'long' type). The way I am trying to
> > implement this is by using a custom comparator. I have written the custom
> > comparator by using 'org.apache.cassandra.db.marshal.BytesType' and
> altering
> > the compare() method. While inserting values it works fine but while
> > retrieving the values I am getting
> > "ColumnSerializer$CorruptColumnException".
> >
> > I've attached the Comparator class. Please suggest what should I change
> to
> > make it work.
> >
> > Regards
> > Tarun
>

Mime
View raw message