cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Petrov (JIRA)" <j...@apache.org>
Subject [jira] [Created] (CASSANDRA-12102) Refactor and simplify Filtering-related StatementRestriction part
Date Tue, 28 Jun 2016 15:34:57 GMT
Alex Petrov created CASSANDRA-12102:
---------------------------------------

             Summary: Refactor and simplify Filtering-related StatementRestriction part
                 Key: CASSANDRA-12102
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12102
             Project: Cassandra
          Issue Type: Improvement
            Reporter: Alex Petrov


{{RestrictionSet}} hierarchy was significantly improved by [CASSANDRA-11354], although filtering-related
{{Restrictions}} are split with restrictions that would go through the 2i already in {{RowFilter}}.


There's still a clear separation, although it's currently made in {{Index}} implementations
and {{RowFilter}}, by removing things that were handled by {{Index}} for post-filtering like
it's done [here|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/db/ReadCommand.java#L374-L378].


The primary concern is that we've seen several times that there are many corner-cases, so
we may benefit from splitting columns that are handled by the index from ones that are handled
by post-filtering early in code and possibly keeping them split for all parts of query. 

I suggest to split {{ClusteringColumnRestrictions#addRowFilterTo}} into two parts, {{addIndexRestrictions}}
and {{addFilteringRestrictions}}. The change should be quite simple and make the code simpler
to understand and extend the filtering / indexing rules.

We can also validate that all restrictions have been respected (although we can do that now
as well). 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message