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)