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] [Comment Edited] (CASSANDRA-11354) PrimaryKeyRestrictionSet should be refactored
Date Wed, 16 Mar 2016 16:18:33 GMT

    [ 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:17 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 (it will be set to true if the
columns are restricted in order).

Although it seems like the new {{ClusteringColumnRestrictions}} could theoretically take care
of both cases (assuming secondary indexing part is solved).


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. 

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

> 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)

Mime
View raw message