Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-6875

CQL3: select multiple CQL rows in a single partition using IN

Agile BoardAttach filesAttach ScreenshotBulk Copy AttachmentsBulk Move AttachmentsVotersWatch issueWatchersCreate sub-taskConvert to sub-taskMoveLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Low
    • Resolution: Fixed
    • 2.0.9, 2.1 rc1
    • Legacy/CQL
    • None
    • Low

    Description

      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:

      CREATE TABLE test (
        k int,
        c1 int,
        c2 int,
        PRIMARY KEY (k, c1, c2)
      );
      

      with the following data:

       k | c1 | c2
      ---+----+----
       0 |  0 |  0
       0 |  0 |  1
       0 |  1 |  0
       0 |  1 |  1
      

      We can fetch a single row or a range of rows, but not a set of them:

      > SELECT * FROM test WHERE k = 0 AND (c1, c2) IN ((0, 0), (1,1)) ;
      Bad Request: line 1:54 missing EOF at ','
      

      Supporting this syntax would return:

       k | c1 | c2
      ---+----+----
       0 |  0 |  0
       0 |  1 |  1
      

      Being able to fetch these two CQL rows in a single read is important to maintain partition-level isolation.

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            thobbs Tom Hobbs Assign to me
            nff Nicolas Favre-Felix
            Tom Hobbs
            Sylvain Lebresne
            Votes:
            0 Vote for this issue
            Watchers:
            10 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment