On Mon, Mar 8, 2010 at 9:30 AM, Jonathan Ellis <jbel...@gmail.com> wrote:

> On Mon, Mar 8, 2010 at 11:22 AM, Erik Holstad <erikhols...@gmail.com>
> wrote:
> > I was probably a little bit unclear here. I'm wondering about the two
> byte[]
> > in Column.
> > One for name and one for value. I was under the impression that the
> > skiplistmap
> > wraps the Columns, not that the name and the value are themselves
> inserted
> > into a map?
> The column name is the key in one such map, yes.
So why is it again that the value field in the Column cannot be null if it
is not the
value field in the map, but just a part of the value field?

> >> > is it really that expensive to check if the list is empty before
> >> > returning
> >> > that row
> >>
> >> Yes, because you have to check the entire row, which may be much
> >> larger than the given predicate.
> >
> > That makes sense, but why would you be interested in the rows present
> > outside
> > your specified predicate?
> Because get_range_slice says, "apply this predicate to the range of
> rows given," meaning, if the predicate result is empty, we have to
> include an empty result for that row key.  It is perfectly valid to
> perform such a query returning empty column lists for some or all
> keys, even if no deletions have been performed.  So to special case
> leaving out result entries for deletions, we have to check the entire
> rest of the row to make sure there is no undeleted data anywhere else
> either (in which case leaving the key out would be an error).
All of this makes total sense, I'm wondering about use cases where you want
get an empty row when you don't know if it has been deleted or not.

Regards Erik

Reply via email to