So why do the "start" and "finish" range parameters exist?
On Wed, Jun 2, 2010 at 3:53 PM, Ben Browning <ben...@gmail.com> wrote: > Martin, > > On Wed, Jun 2, 2010 at 8:34 AM, Dr. Martin Grabmüller > <martin.grabmuel...@eleven.de> wrote: > > I think you can specify an end key, but it should be a key which does > exist > > in your column family. > > > Logically, it doesn't make sense to ever specify an end key with > random partitioner. If you specified a start key of "aaa" and and end > key of "aac" you might get back as results "aaa", "zfc", "hik", etc. > And, even if you have a key of "aab" it might not show up. Key ranges > only make sense with order-preserving partitioner. The only time to > ever use a key range with random partitioner is when you want to > iterate over all keys in the CF. > > Ben > > > > But maybe I'm off the track here and someone else here knows more about > this > > key range stuff. > > > > Martin > > > > ________________________________ > > From: David Boxenhorn [mailto:da...@lookin2.com] > > Sent: Wednesday, June 02, 2010 2:30 PM > > To: user@cassandra.apache.org > > Subject: Re: Range search on keys not working? > > > > In other words, I should check the values as I iterate, and stop > iterating > > when I get out of range? > > > > I'll try that! > > > > On Wed, Jun 2, 2010 at 3:15 PM, Dr. Martin Grabmüller > > <martin.grabmuel...@eleven.de> wrote: > >> > >> 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."? > >>> > >> > > > > >