On 13 June 2011 17:09, AJ <a...@dude.podzone.net> wrote:
> On 6/13/2011 9:25 AM, Stephen Connolly wrote:
>>
>> On 13 June 2011 16:14, AJ<a...@dude.podzone.net>  wrote:
>>>
>>> On 6/13/2011 7:03 AM, Stephen Connolly wrote:
>>>>
>>>> It returns the set of columns for the set of rows... how do you
>>>> determine the difference between a completely empty row and a row that
>>>> just does not have any of the matching columns?
>>>
>>> I would expect it to not return anything (no row at all) for both of
>>> those
>>> cases.  Are you saying that an empty row is returned for rows that do not
>>> match the predicate?  So, if I perform a range slice where the range is
>>> every row of the CF and the slice equates to no matches and I have 1
>>> million
>>> rows in the CF, then I will get a result set of 1 million empty rows?
>>>
>> No I am saying that for each row that matches, you will get a result,
>> even if the columns that you request happen to be empty for that
>> specific row.
>>
>
> Ok, this I understand I guess.  If I query a range of rows and want only a
> certain column and a row does not have that column, I would like to know
> that.

deleted rows don't have the column either which is the point.

>
>> Likewise, any deleted rows in the same row range will show as empty
>> because C* would have a tone of work to figure out the difference
>> between being deleted and being empty.
>>
>
> But, if a row does indeed have the column, but that row was deleted, why
> would I get an empty row?  You say because of a ton of work.  So, the
> tombstone for the row is not stored "close-by" for quick access... or
> something like that?  At any rate, how do I figure out if the empty row is
> empty because it was deleted?  Sorry if I'm being dense.
>

store the query inverted.

that way empty -> deleted

the tombstones are stored for each column that had data IIRC... but at
this point my grok of C* is lacking

>
>

Reply via email to