cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Philip Thompson (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-8424) Collection filtering not working when using PK
Date Thu, 04 Dec 2014 20:34:12 GMT

     [ https://issues.apache.org/jira/browse/CASSANDRA-8424?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Philip Thompson updated CASSANDRA-8424:
---------------------------------------
    Assignee: Benjamin Lerer

> Collection filtering not working when using PK
> ----------------------------------------------
>
>                 Key: CASSANDRA-8424
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8424
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>         Environment: [cqlsh 5.0.1 | Cassandra 2.1.2 | CQL spec 3.2.0 | Native protocol
v3]
> Ubuntu 14.04.5 64-bit
>            Reporter: Lex Lythius
>            Assignee: Benjamin Lerer
>              Labels: collections
>             Fix For: 2.1.3
>
>
> I can do queries for collection keys/values as detailed in http://www.datastax.com/dev/blog/cql-in-2-1
without problems. Even without having a secondary index on the collection it will work (with
{{ALLOW FILTERING}}) but only as long as the query is performed through a *secondary* index.
If you go through PK it won't. Of course full-scan filtering query is not allowed.
> As an example, I created this table:
> {code:SQL}
> CREATE TABLE test.uloc9 (
>     usr int,
>     type int,
>     gb ascii,
>     gb_q ascii,
>     info map<ascii, text>,
>     lat float,
>     lng float,
>     q int,
>     traits set<ascii>,
>     ts timestamp,
>     PRIMARY KEY (usr, type)
> );
> CREATE INDEX uloc9_gb ON test.uloc9 (gb);
> CREATE INDEX uloc9_gb_q ON test.uloc9 (gb_q);
> CREATE INDEX uloc9_traits ON test.uloc9 (traits);
> {code}
> then added some data and queried:
> {code}
> cqlsh:test> select * from uloc9 where gb='/nw' and info contains 'argentina' allow
filtering;
>  usr | type | gb  | gb_q  | info                                     | lat          |
lng          | q | traits             | ts
> -----+------+-----+-------+------------------------------------------+--------------+--------------+---+--------------------+--------------------------
>    1 |    0 | /nw | /nw:1 | {'ci': 'san antonio', 'co': 'argentina'} | -40.74000168 |
-65.80000305 | 1 | {'r:photographer'} | 2014-11-04 18:20:29-0300
>    1 |    1 | /nw | /nw:1 | {'ci': 'san antonio', 'co': 'argentina'} | -40.75799942 |
-66.00800323 | 1 | {'r:photographer'} | 2014-11-04 18:20:29-0300
> (2 rows)
> cqlsh:test> select * from uloc9 where usr=1 and info contains 'argentina' allow filtering;
> code=2200 [Invalid query] message="No indexed columns present in by-columns clause with
Equal operator"
> cqlsh:test> select * from uloc9 where usr=1 and type=0 and info contains 'argentina'
allow filtering;
> code=2200 [Invalid query] message="No indexed columns present in by-columns clause with
Equal operator"
> {code}
> Maybe I got things wrong, but I don't see any reasons why collection filtering should
fail when using PK while it succeeds using any secondary index (related or otherwise).



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

Mime
View raw message