Possible bug... Using a slice range with the empty sentinel values, and a count of 1 sometimes yields 2 ColumnOrSuperColumns, sometimes 1. The inconsistency had lead me to believe that the count was not working, hence the additional confusion.
There was a particular key which returns exactly 2 ColumnOrSuperColumns. This happened repeatedly, even when other data was inserted before or after. All of the other keys were returning the expected 1 ColumnOrSuperColumn. Once I added a 4th super column to the key in question, it started behaving the same as the others, yielding exactly 1 ColumnOrSuperColumn. here is the code: for the predicate: my $predicate = new Cassandra::SlicePredicate(); my $slice_range = new Cassandra::SliceRange(); $slice_range->{start} = ''; $slice_range->{finish} = ''; $slice_range->{reversed} = 1; $slice_range->{count} = 1; $predicate->{slice_range} = $slice_range; The columns are in the right order (reversed), so I'll get what I need by accessing only the first result in each slice. If I wanted to iterate the returned list of slices, it would manifest as a bug in my client. (Cassandra 6.1/Thrift/Perl) On Tue, Jun 8, 2010 at 11:18 AM, Jonathan Shook <jsh...@gmail.com> wrote: > I was misreading the result with the original slice range. > I should have been expecting exactly 2 ColumnOrSuperColumns, which is > what I got. I was erroneously expecting only 1. > > Thanks! > Jonathan > > > 2010/6/8 Ted Zlatanov <t...@lifelogs.com>: >> On Mon, 7 Jun 2010 17:20:56 -0500 Jonathan Shook <jsh...@gmail.com> wrote: >> >> JS> The point is to get the "last" super-column. >> ... >> JS> Is the Perl Thrift client problematic, or is there something else that >> JS> I am missing? >> >> Try Net::Cassandra::Easy; if it does what you want, look at the debug >> output or trace the code to see how the predicate is specified so you >> can duplicate that in your own code. >> >> In general yes, the Perl Thrift interface is problematic. It's slow and >> semantically inconsistent. >> >> Ted >> >> >