[ https://issues.apache.org/jira/browse/CASSANDRA-4926?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Aleksey Yeschenko resolved CASSANDRA-4926. ------------------------------------------ Resolution: Won't Fix This query works properly in CQL3 in Cassandra 1.2. During 1.1, however, CQL3 was in beta, and it's not going to be fixed. > CQL3: IN relation does not work for last part of composite key > -------------------------------------------------------------- > > Key: CASSANDRA-4926 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4926 > Project: Cassandra > Issue Type: Bug > Affects Versions: 1.1.6 > Reporter: Roland Mechler > > Everything below was done using cqlsh -3, against single node Cassandra 1.1.6. > I created a test table with the following definition: > CREATE TABLE testtable ( > a text, > b text, > c text, > data text, > PRIMARY KEY (a, b, c) > ) WITH > comment='' AND > caching='KEYS_ONLY' AND > read_repair_chance=0.100000 AND > gc_grace_seconds=864000 AND > replicate_on_write='true' AND > compaction_strategy_class='SizeTieredCompactionStrategy' AND > compression_parameters:sstable_compression='SnappyCompressor'; > and inserted some data: > INSERT INTO testtable (a, b, c, data) VALUES ('1', '1', '1', 'data 1'); > INSERT INTO testtable (a, b, c, data) VALUES ('1', '1', '2', 'data 2'); > INSERT INTO testtable (a, b, c, data) VALUES ('1', '1', '3', 'data 3'); > so a full table query produced: > cqlsh:testkeyspace> select * from testtable; > a | b | c | data > ---+---+---+-------- > 1 | 1 | 1 | data 1 > 1 | 1 | 2 | data 2 > 1 | 1 | 3 | data 3 > Next I tried the following query with an IN relation on the second part of > the key: > cqlsh:testkeyspace> select * from testtable where a = '1' and b in ('1', '2'); > Bad Request: PRIMARY KEY part b cannot be restricted by IN relation (only the > first and last parts can) > which is apparently not supported, but the error message suggests an IN > relation in the last part is supported, so I tried: > cqlsh:testkeyspace> select * from testtable where a = '1' and b = '1' and c > in ('1', '2'); > cqlsh:testkeyspace> > which did not produce an error, but also returned no results. I was expecting > 2 rows. This seems to be a bug? > Note that I get the expected result if the IN relation contains only 1 value: > cqlsh:testkeyspace> select * from testtable where a = '1' and b = '1' and c > in ('1'); > a | b | c | data > ---+---+---+-------- > 1 | 1 | 1 | data 1 -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira