You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Tyler Hobbs (JIRA)" <ji...@apache.org> on 2014/11/12 20:51:34 UTC
[jira] [Created] (CASSANDRA-8302) Filtering for CONTAINS (KEY) on
frozen collection clustering columns within a partition does not work
Tyler Hobbs created CASSANDRA-8302:
--------------------------------------
Summary: Filtering for CONTAINS (KEY) on frozen collection clustering columns within a partition does not work
Key: CASSANDRA-8302
URL: https://issues.apache.org/jira/browse/CASSANDRA-8302
Project: Cassandra
Issue Type: Bug
Components: Core
Reporter: Tyler Hobbs
Assignee: Tyler Hobbs
Fix For: 2.1.3
Create a table like this:
{noformat}
CREATE TABLE foo (
a int,
b int,
c frozen<set<int>>
d int,
PRIMARY KEY (a, b, c, d)
)
{noformat}
and add an index on it:
{noformat}
CREATE INDEX ON foo(b)
{noformat}
A query across all partitions will work correctly:
{noformat}
cqlsh:ks1> insert into foo (a, b, c, d) VALUES (0, 0, {1, 2}, 0);
cqlsh:ks1> SELECT * FROM foo WHERE b=0 AND c CONTAINS 2 and d=0 ALLOW FILTERING;
a | b | c | d
---+---+--------+---
0 | 0 | {1, 2} | 0
(1 rows)
{noformat}
But if the query is restricted to a single partition, it is considered invalid (and the error message isn't great):
{noformat}
cqlsh:ks1> SELECT * FROM foo WHERE a=0 AND b=0 AND c CONTAINS 2 and d=0 ALLOW FILTERING;
code=2200 [Invalid query] message="No secondary indexes on the restricted columns support the provided operators: "
{noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)