When not using OOP, you should not use something like 'CATEGORY/' as the end key.Use the empty string as the end key and limit the number of returned keys, as you did withthe 'max' value.If I understand correctly, the end key is used to generate an end token by hashing it, andthere is not the same correspondence between 'CATEGORY' and 'CATEGORY/' as forhash('CATEGORY') and hash('CATEGORY/').At least, this was the explanation I gave myself when I had the same problem.The solution is to iterate through the keys by always using the last key returned as thestart key for the next call to get_range_slices, and the to drop the first element fromthe result.HTH,Martin
From: David Boxenhorn [mailto:email@example.com]
Sent: Wednesday, June 02, 2010 2:01 PM
Subject: Re: Range search on keys not working?The previous thread where we discussed this is called, "key is sorted?"
On Wed, Jun 2, 2010 at 2:56 PM, David Boxenhorn <firstname.lastname@example.org> wrote:
I'm not using OPP. But I was assured on earlier threads (I asked several times to be sure) that it would work as stated below: the results would not be ordered, but they would be correct.
On Wed, Jun 2, 2010 at 2:51 PM, Torsten Curdt <email@example.com> wrote:
Sounds like you are not using an order preserving partitioner?
On Wed, Jun 2, 2010 at 13:48, David Boxenhorn <firstname.lastname@example.org> wrote:
> Range search on keys is not working for me. I was assured in earlier threads
> that range search would work, but the results would not be ordered.
> I'm trying to get all the rows that start with "CATEGORY."
> I'm doing:
> String start = "CATEGORY.";
> keyspace.getSuperRangeSlice(columnParent, slicePredicate, start,
> "CATEGORY/", max)
> in a loop, setting start to the last key each time - but I'm getting rows
> that don't start with "CATEGORY."!!
> How do I get all rows that start with "CATEGORY."?