incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Erik Holstad <erikhols...@gmail.com>
Subject Re: Reason for not allowing null values for in Column
Date Mon, 08 Mar 2010 17:22:59 GMT
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?

>
> -Jonathan
>



-- 
Regards Erik

Mime
View raw message