cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tyler Hobbs (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-6875) CQL3: select multiple CQL rows in a single partition using IN
Date Thu, 01 May 2014 17:05:16 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-6875?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13986770#comment-13986770
] 

Tyler Hobbs commented on CASSANDRA-6875:
----------------------------------------

bq. We can, see cql_prepared_test.py (arguably our number of tests for prepared statement
is deeply lacking, but it's possible to have some).

Ah, thanks, good to know.

bq. I'll fight to the death the concept that "unit test are a lot faster to work with" as
an absolute truth.

Don't worry, I'm not going to challenge you to a duel :).  It's not an absolute truth, but
it's easy to do things like run a unit test with the debugger on, which makes a big difference
in some cases.

bq. fixing those issue is likely simpler than migrating all the existing tests back to the
unit tests.

I'm definitely not suggesting moving any existing dtests to unit tests.  I'm just proposing
that we allow some mix of unit tests and dtests for newly written tests.

bq.  we could have a debate I suppose (but definitively not here)

Do you mind if I start a dev ML thread?  It would be good to get input from other devs and
QA.



> 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)

Mime
View raw message