On 6/13/2011 9:25 AM, Stephen Connolly wrote: > On 13 June 2011 16:14, AJ 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. > 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.