This is a known problem with multi-column slices and mixed ASC/DESC clustering orders. See https://issues.apache.org/jira/browse/CASSANDRA-7281 for details.
On Tue, Nov 10, 2015 at 11:02 PM, Yuri Shkuro <y...@uber.com> wrote: > According to this blog: > http://www.datastax.com/dev/blog/a-deep-look-to-the-cql-where-clause > > I should be able to do multi-column restrictions on clustering columns, as > in the blog example: WHERE (server, time) >= (‘196.8.0.0’, 12:00) AND > (server, time) <= (‘196.8.255.255’, 14:00) > > However, I am getting data returned from such query that does not match > the restrictions. Tried on Cassandra 2.17 and 2.2.3. Here's an example: > > CREATE TABLE IF NOT EXISTS dur ( > s text, > nd bigint, > ts bigint, > tid bigint, > PRIMARY KEY (s, nd, ts) > ) WITH CLUSTERING ORDER BY (nd ASC, ts DESC); > > insert INTO dur (s, nd, ts, tid) values ('x', 1, 10, 99); > insert INTO dur (s, nd, ts, tid) values ('x', 2, 11, 98) ; > insert INTO dur (s, nd, ts, tid) values ('x', 3, 10, 97) ; > insert INTO dur (s, nd, ts, tid) values ('x', 1, 11, 96) ; > insert INTO dur (s, nd, ts, tid) values ('x', 1, 12, 95) ; > insert INTO dur (s, nd, ts, tid) values ('x', 2, 10, 94) ; > insert INTO dur (s, nd, ts, tid) values ('x', 2, 12, 93) ; > insert INTO dur (s, nd, ts, tid) values ('x', 3, 11, 92) ; > insert INTO dur (s, nd, ts, tid) values ('x', 3, 12, 91) ; > > select * from dur where s='x' and (nd,ts) > (2, 11); > > s | nd | ts | tid > ---+----+----+----- > x | 2 | 10 | 94 > x | 3 | 12 | 91 > x | 3 | 11 | 92 > x | 3 | 10 | 97 > (4 rows) > > The first row in the result does not satisfy the restriction (nd,ts) > > (2, 11). Am I doing something incorrectly? > > Thanks, > --Yuri > -- Tyler Hobbs DataStax <http://datastax.com/>