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 with
the 'max' value.
 
If I understand correctly, the end key is used to generate an end token by 
hashing it, and
there is not the same correspondence between 'CATEGORY' and 'CATEGORY/' as for
hash('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 the
start key for the next call to get_range_slices, and the to drop the first 
element from
the result.
 
HTH,
  Martin


________________________________

        From: David Boxenhorn [mailto:da...@lookin2.com] 
        Sent: Wednesday, June 02, 2010 2:01 PM
        To: user@cassandra.apache.org
        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 <da...@lookin2.com> 
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 
<tcu...@vafer.org> wrote:
                

                        Sounds like you are not using an order preserving 
partitioner?
                        

                        On Wed, Jun 2, 2010 at 13:48, David Boxenhorn 
<da...@lookin2.com> 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."?
                        



Reply via email to