You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Alex Petrov (JIRA)" <ji...@apache.org> on 2016/03/16 17:16:33 UTC

[jira] [Comment Edited] (CASSANDRA-11354) PrimaryKeyRestrictionSet should be refactored

    [ https://issues.apache.org/jira/browse/CASSANDRA-11354?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15197572#comment-15197572 ] 

Alex Petrov edited comment on CASSANDRA-11354 at 3/16/16 4:16 PM:
------------------------------------------------------------------

Is {{AbstractSingleRestriction}} still required as an abstract class? It's also possible to implement the {{false}} returning methods on the interface directly. 

Another minor thing. There are two places where clustering column restrictions are "validated": 

One is in {{ClusteringColumnRestrictions}} constructor:
https://github.com/apache/cassandra/compare/trunk...blerer:11354-trunk#diff-fb9315f3449e9fcc3b947ccdd0c1dfdfR63

And the second one {{StatementRestrictions::processClusteringColumnsRestrictions}}:
https://github.com/apache/cassandra/compare/trunk...blerer:11354-trunk#diff-559d2a170c681fa6e692c8321afbfea3R468

Probably here also {{usesSecondaryIndexing}} comes into play


was (Author: ifesdjeen):
Is {{AbstractSingleRestriction}} still required as an abstract class? It's also possible to implement the {{false}} returning methods on the interface directly. 

> PrimaryKeyRestrictionSet should be refactored
> ---------------------------------------------
>
>                 Key: CASSANDRA-11354
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11354
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: CQL
>            Reporter: Benjamin Lerer
>            Assignee: Benjamin Lerer
>
> While reviewing CASSANDRA-11310 I realized that the code of {{PrimaryKeyRestrictionSet}} was really confusing.
> The main 2 issues are:
> * the fact that it is used for partition keys and clustering columns restrictions whereas those types of column required different processing
> * the {{isEQ}}, {{isSlice}}, {{isIN}} and {{isContains}} methods should not be there as the set of restrictions might not match any of those categories when secondary indexes are used.



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