On Mon, Mar 8, 2010 at 9:10 AM, Jonathan Ellis <jbellis@gmail.com> wrote:
On Mon, Mar 8, 2010 at 11:07 AM, Erik Holstad <erikholstad@gmail.com> wrote:
> Why is it that null column values are not allowed?

It's semantically unnecessary and potentially harmful at an
implementation level.  (Many java Map implementations can't
distinguish between a null key and a key that is not present.)
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?

> What is the reason for using a ConcurrentSkipListMap<byte[], IColumn> for
> columns_ in ColumnFamily
> compared to using the set version and use the comparator to sort on the name
> field in IColumn?


> For the call get_range_slice() you get all the rows returned even though
> they might have been deleted,

Yes, that is the point.

> 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?


Regards Erik