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

Benjamin Lerer commented on CASSANDRA-14344:
--------------------------------------------

Thanks for the patch.

The operator logic that you added for the {{IN}} operator is similar to the one 
use for the {{CONTAINS}} but I wonder if it could not be done in a better way. 
That approach force the deserialization of all the list elements and of the 
value for each check.
It seems to me that comparing the elements with the value using the type 
comparator would be more efficient as it will not need to read all the bytes 
and will generate less garbage.

It would also be nice to have some extra unit tests for filtering on composite 
partition keys and/or on static columns.

> Support filtering using IN restrictions
> ---------------------------------------
>
>                 Key: CASSANDRA-14344
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14344
>             Project: Cassandra
>          Issue Type: New Feature
>            Reporter: Dikang Gu
>            Assignee: Venkata Harikrishna Nukala
>            Priority: Major
>         Attachments: 14344-trunk.txt
>
>
> Support IN filter query like this:
>  
> CREATE TABLE ks1.t1 (
>     key int,
>     col1 int,
>     col2 int,
>     value int,
>     PRIMARY KEY (key, col1, col2)
> ) WITH CLUSTERING ORDER BY (col1 ASC, col2 ASC)
>  
> cqlsh:ks1> select * from t1 where key = 1 and col2 in (1) allow filtering;
>  
>  key | col1 | col2 | value
> -----+------+------+-------
>    1 |    1 |    1 |     1
>    1 |    2 |    1 |     3
>  
> (2 rows)
> cqlsh:ks1> select * from t1 where key = 1 and col2 in (1, 2) allow filtering;
> *{color:#ff0000}InvalidRequest: Error from server: code=2200 [Invalid query] 
> message="IN restrictions are not supported on indexed columns"{color}*
> cqlsh:ks1>



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to