Sylvain Lebresne created CASSANDRA-7085:
-------------------------------------------

             Summary: Specialized query filters for CQL3
                 Key: CASSANDRA-7085
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7085
             Project: Cassandra
          Issue Type: Improvement
            Reporter: Sylvain Lebresne
             Fix For: 3.0


The semantic of CQL makes it so that the current {{NamesQueryFilter}} and 
{{SliceQueryFilter}} are not always as efficient as we could be. Namely, when a 
{{SELECT}} only selects a handful of columns, we still have to query to query 
all the columns of the select rows to distinguish between 'live row but with no 
data for the queried columns' and 'no row' (see CASSANDRA-6588 for more 
details).

We can solve that however by adding new filters (name and slice) specialized 
for CQL. The new name filter would be a list of row prefix + a list of CQL 
column names (instead of one list of cell names). The slice filter would still 
take a ColumnSlice[] but would add the list of column names we care about for 
each row.

The new sstable readers that goes with those filter would use the list of 
column names to filter out all the cells we don't care about, so we don't have 
to ship those back to the coordinator to skip them there, yet would know to 
still return the row marker when necessary.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to