Details
-
Bug
-
Status: Resolved
-
Normal
-
Resolution: Duplicate
-
None
-
None
-
None
-
Normal
Description
I have the following table:
CREATE TABLE rating (
id bigint,
mid int,
hid int,
r double,
PRIMARY KEY ((id, mid), hid));
And I get really really strange result sets on the following queries:
cqlsh:bm> SELECT hid, r FROM rating WHERE id = 755349113 and mid = 201310 and hid = 201329320;
hid | r
----------+-------
201329320 | 45.476
(1 rows)
cqlsh:bm> SELECT hid, r FROM rating WHERE id = 755349113 and mid = 201310 and hid = 201329220;
hid | r
----------+------
201329220 | 53.62
(1 rows)
cqlsh:bm> SELECT hid, r FROM rating WHERE id = 755349113 and mid = 201310 and hid in (201329320, 201329220);
hid | r
----------+-------
201329320 | 45.476
(1 rows) <-- WRONG - should be two records
As you can see although both records exist I'm not able the fetch all of them using in clause. By now I have to cycle my requests which are about 30 and I find it highly inefficient given that I query physically the same row.
More of that - it doesn't happen all the time! For different id values sometimes I get the correct dataset.
Ideally I'd like the following select to work:
SELECT hid, r FROM rating WHERE id = 755349113 and mid in ? and hid in ?;
Which doesn't work either.
Attachments
Attachments
Issue Links
- duplicates
-
CASSANDRA-6137 CQL3 SELECT IN CLAUSE inconsistent
- Resolved