cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benjamin Lerer (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-11310) Allow filtering on clustering columns for queries without secondary indexes
Date Tue, 15 Mar 2016 11:11:33 GMT


Benjamin Lerer commented on CASSANDRA-11310:

Thanks for the initial patch. Overall, I think that you are going in the right direction.

While reviewing your patch I realised that some part of the code are really confusing. I opened
CASSANDRA-11354 for improving the code of {{PrimaryKeyRestrictions}}.
In  {{PrimaryKeyRestrictions}} your changes looks good. Your changes in the constructor will
also change the behavior 
for some secondary index requests. Queries like: {{SELECT * FROM myTable WHERE pk = 1 and
clustering1 > 1 AND clustering2 > 1 AND x = 'test' ALLOW FILTERING}} used to be rejected
and will now be accepted. It might be good if you could add some tests for that.

In my opinion, the {{useFiltering}} name is a bit confusing we should use {{allowFiltering}}
instead as what the variable means is that the request had {{ALLOW FILTERING}} specified.

In {{StatementRestrictions}} some stuff looks wrong to me.
* In {{processClusteringColumnsRestrictions}} the fact that we set {{useSecondaryIndex}} to
{{true}} if we allow filtering does not make sense. I am also not sure why we do it for views
([~thobbs] is there a good reason?).
* Instead of modifying {{getRowFilter}, I think that you should add {{clusteringColumnsRestrictions}}
to {{indexRestrictions}} if filtering is allowed and some clustering columns restrictions
require filtering.
* It might makes sense to rename {{indexRestrictions}} into {{filteringRestrictions}}.  

For {{CONTAINS}} restrictions I was thinking of {{CONTAINS}} restrictions on the Clustering


> Allow filtering on clustering columns for queries without secondary indexes
> ---------------------------------------------------------------------------
>                 Key: CASSANDRA-11310
>                 URL:
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: CQL
>            Reporter: Benjamin Lerer
>            Assignee: Alex Petrov
>              Labels: doc-impacting
>             Fix For: 3.x
> Since CASSANDRA-6377 queries without index filtering non-primary key columns are fully
> It makes sense to also support filtering on clustering-columns.
> {code}
> CREATE TABLE emp_table2 (
> empID int,
> firstname text,
> lastname text,
> b_mon text,
> b_day text,
> b_yr text,
> PRIMARY KEY (empID, b_yr, b_mon, b_day));
> SELECT b_mon,b_day,b_yr,firstname,lastname FROM emp_table2
> {code}

This message was sent by Atlassian JIRA

View raw message