dan jatnieks created CASSANDRA-7588: ---------------------------------------
Summary: cqlsh error for query against collection index - list index out of range Key: CASSANDRA-7588 URL: https://issues.apache.org/jira/browse/CASSANDRA-7588 Project: Cassandra Issue Type: Bug Components: Core Reporter: dan jatnieks This worked in 2.1 RC1 {noformat} Connected to Test Cluster at 127.0.0.1:9042. [cqlsh 5.0.1 | Cassandra 2.1.0-rc1-SNAPSHOT | CQL spec 3.1.7 | Native protocol v3] Use HELP for help. cqlsh> use k1; cqlsh:k1> SELECT id, description FROM products WHERE categories CONTAINS 'hdtv'; id | description -------+----------------------------- 29412 | 32-inch LED HDTV (black) 34134 | 120-inch 1080p 3D plasma TV (2 rows) {noformat} But fails with RC4: {noformat} Connected to Test Cluster at 127.0.0.1:9042. [cqlsh 5.0.1 | Cassandra 2.1.0-rc4-SNAPSHOT | CQL spec 3.2.0 | Native protocol v3] Use HELP for help. cqlsh> use k1; cqlsh:k1> SELECT id, description FROM products WHERE categories CONTAINS 'hdtv'; list index out of range cqlsh:k1> {noformat} This is using the example from the blog post http://www.datastax.com/dev/blog/cql-in-2-1 A more complete repro: {noformat} cqlsh:k1> cqlsh:k1> CREATE KEYSPACE cat_index_test ... WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1}; cqlsh:k1> USE cat_index_test; cqlsh:cat_index_test> cqlsh:cat_index_test> CREATE TABLE IF NOT EXISTS products ( ... id int PRIMARY KEY, ... description text, ... price int, ... categories set<text>, ... features map<text, text> ... ); cqlsh:cat_index_test> cqlsh:cat_index_test> CREATE INDEX IF NOT EXISTS cat_index ON products(categories); cqlsh:cat_index_test> CREATE INDEX IF NOT EXISTS feat_index ON products(features); cqlsh:cat_index_test> cqlsh:cat_index_test> INSERT INTO products(id, description, price, categories, features) ... VALUES (34134, ... '120-inch 1080p 3D plasma TV', ... 9999, ... {'tv', '3D', 'hdtv'}, ... {'screen' : '120-inch', 'refresh-rate' : '400hz', 'techno' : 'plasma'}); cqlsh:cat_index_test> cqlsh:cat_index_test> INSERT INTO products(id, description, price, categories, features) ... VALUES (29412, ... '32-inch LED HDTV (black)', ... 929, ... {'tv', 'hdtv'}, ... {'screen' : '32-inch', 'techno' : 'LED'}); cqlsh:cat_index_test> cqlsh:cat_index_test> INSERT INTO products(id, description, price, categories, features) ... VALUES (38471, ... '32-inch LCD TV', ... 110, ... {'tv', 'used'}, ... {'screen' : '32-inch', 'techno' : 'LCD'}); cqlsh:cat_index_test> SELECT id, description FROM products WHERE categories CONTAINS 'hdtv'; list index out of range cqlsh:cat_index_test> SELECT id, description FROM products WHERE features CONTAINS '32-inch'; list index out of range cqlsh:cat_index_test> DROP INDEX feat_index; cqlsh:cat_index_test> CREATE INDEX feat_key_index ON products(KEYS(features)); cqlsh:cat_index_test> cqlsh:cat_index_test> SELECT id, description ... FROM products ... WHERE features CONTAINS KEY 'refresh-rate'; list index out of range {noformat} This appears to be a cqlsh issue, since these queries still work when executed using DevCenter. -- This message was sent by Atlassian JIRA (v6.2#6252)