You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Aleksey Yeschenko (JIRA)" <ji...@apache.org> on 2013/08/06 18:04:47 UTC

[jira] [Created] (CASSANDRA-5851) Fix 2i on composite components omissions

Aleksey Yeschenko created CASSANDRA-5851:
--------------------------------------------

             Summary: Fix 2i on composite components omissions
                 Key: CASSANDRA-5851
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5851
             Project: Cassandra
          Issue Type: Bug
    Affects Versions: 2.0 beta 2
            Reporter: Aleksey Yeschenko
            Assignee: Aleksey Yeschenko
             Fix For: 2.0
         Attachments: 5851.txt

There some edge-cases, not covered by CASSANDRA-5125, the attached patch fixes those:

(Assuming CREATE TABLE test (pk0 int, pk1 int, ck0 int, ck1 int, val int, PRIMARY KEY ((pk0, pk1), ck0, ck1)))

- could not create a 2i on the first part of a composite partition key (pk0)
- if created, it couldn't work because of getKeyBounds() returning non-empty bounds
- could create an index on the first clustering key column (ck0), but it would never actually be triggered on reads
- queries like SELECT * FROM test WHERE pk0 = x AND pk1 = y AND ck1 = z would throw an exception because COCK.makeIndexColumnNameBuilder() couldn't handle empty provided columnName
- cqlsh could not describe any of these indexes because it was taking column aliases and key aliases from schema_columnfamilies and not reading them directly from schema_columns (had to do the related refactoring).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira