[ https://issues.apache.org/jira/browse/CASSANDRA-6875?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14004951#comment-14004951 ]
Sylvain Lebresne commented on CASSANDRA-6875: --------------------------------------------- bq. As I mentioned, I've kept the same behavior for slices over mixed-asc/desc comparators; I'll wait for your response to decide what to do about that. That's definitively a problem and we should fix it. I've created CASSANDRA-7281 for that. As far as this patch goes, as long as it preserve correct behavior for all-ASC or all-DESC (which I believe it does), we can leave the rest to CASSANDRA-7281. The patch lgtm with 2 minor nits (and you will have to rebase it before commit btw): * In buildBound, I believe we can as well check restriction[ 0], saving the iterator creation. * There's an unecessary import in QueryProcessor (of VisibleForTesting) That said, I'm still a bit uncomfortable pushing this in 2.0 given where we are of the 2.0 cycle. But if I'm the only one feeling this way, I suppose I can shut up (and so +1 minus that caveat). > CQL3: select multiple CQL rows in a single partition using IN > ------------------------------------------------------------- > > Key: CASSANDRA-6875 > URL: https://issues.apache.org/jira/browse/CASSANDRA-6875 > Project: Cassandra > Issue Type: Bug > Components: API > Reporter: Nicolas Favre-Felix > Assignee: Tyler Hobbs > Priority: Minor > Fix For: 2.0.8 > > > In the spirit of CASSANDRA-4851 and to bring CQL to parity with Thrift, it is > important to support reading several distinct CQL rows from a given partition > using a distinct set of "coordinates" for these rows within the partition. > CASSANDRA-4851 introduced a range scan over the multi-dimensional space of > clustering keys. We also need to support a "multi-get" of CQL rows, > potentially using the "IN" keyword to define a set of clustering keys to > fetch at once. > (reusing the same example\:) > Consider the following table: > {code} > CREATE TABLE test ( > k int, > c1 int, > c2 int, > PRIMARY KEY (k, c1, c2) > ); > {code} > with the following data: > {code} > k | c1 | c2 > ---+----+---- > 0 | 0 | 0 > 0 | 0 | 1 > 0 | 1 | 0 > 0 | 1 | 1 > {code} > We can fetch a single row or a range of rows, but not a set of them: > {code} > > SELECT * FROM test WHERE k = 0 AND (c1, c2) IN ((0, 0), (1,1)) ; > Bad Request: line 1:54 missing EOF at ',' > {code} > Supporting this syntax would return: > {code} > k | c1 | c2 > ---+----+---- > 0 | 0 | 0 > 0 | 1 | 1 > {code} > Being able to fetch these two CQL rows in a single read is important to > maintain partition-level isolation. -- This message was sent by Atlassian JIRA (v6.2#6252)