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

Genralize use of IN for compound partition keys

    XMLWordPrintableJSON

Details

    Description

      When you have a compount partition key, we currently only support to have a IN on the last column of that partition key. So given:

      CREATE TABLE foo (
          k1 int,
          k2 int,
          v int,
          PRIMARY KEY ((k1, k2))
      )
      

      we allow

      SELECT * FROM foo WHERE k1 = 0 AND k2 IN (1, 2)
      

      but not

      SELECT * FROM foo WHERE k1 IN (0, 1) AND k2 IN (1, 2)
      

      There is no particular reason for us not supporting the later (to the best of my knowledge) since it's reasonably straighforward, so we should fix it.

      I'll note that using IN on a partition key is not necessarily a better idea than parallelizing queries server client side so this syntax, when introduced, should probably be used sparingly, but given we do support IN on partition keys, I see no reason not to extend it to compound PK properly.

      Attachments

        1. CASSANDRA-7855.txt
          6 kB
          Benjamin Lerer
        2. CASSANDRA-7855-V2.txt
          7 kB
          Benjamin Lerer

        Activity

          People

            blerer Benjamin Lerer
            slebresne Sylvain Lebresne
            Benjamin Lerer
            Sam Tunnicliffe
            Votes:
            3 Vote for this issue
            Watchers:
            11 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: