cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aleksey Yeschenko (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-7771) Allow multiple 2ndary index on the same column
Date Fri, 21 Aug 2015 13:31:46 GMT

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

Aleksey Yeschenko commented on CASSANDRA-7771:
----------------------------------------------

So, this is a minor change, given all the groundwork already done. Not much to review, and
mostly already covered by Sylvain's review novel (think returning an absent {{Optional}} of
{{Collection}} instead of an empty {{Collection}}).

Minor nits here and there - mostly already handled in a wip branch.

Ultimately I only have one issue with this, and that is the way we handle creating duplicate
indexes with a default name on the same column.

Before the change, we used to reject them (obviously):

{code}
cqlsh> CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 'replication_factor':
1};
cqlsh> USE test;
cqlsh:test> CREATE TABLE test (pk int, col text, PRIMARY KEY(pk));
cqlsh:test> CREATE INDEX ON test(col);
cqlsh:test> CREATE INDEX ON test(col);
InvalidRequest: code=2200 [Invalid query] message="Index already existss"
{code}

Never mind that the exception message is written in parseltongue, this is the correct behaviour
that we should preserve.

After these changes:

{code}
cqlsh> CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 'replication_factor':
1};
cqlsh> USE test;
cqlsh:test> CREATE TABLE test (pk int, col text, PRIMARY KEY(pk));
cqlsh:test> CREATE INDEX ON test(col);
cqlsh:test> CREATE INDEX ON test(col);
cqlsh:test> CREATE INDEX ON test(col);
cqlsh:test> CREATE INDEX ON test(col);
cqlsh:test> CREATE INDEX ON test(col);
{code}

Just creates identical {{test.test_col_idx}}, {{test.test_col_idx_1}}, {{test.test_col_idx_2}},
etc.

> Allow multiple 2ndary index on the same column
> ----------------------------------------------
>
>                 Key: CASSANDRA-7771
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7771
>             Project: Cassandra
>          Issue Type: New Feature
>            Reporter: Sylvain Lebresne
>            Assignee: Sam Tunnicliffe
>              Labels: client-impacting
>             Fix For: 3.0 beta 1
>
>
> Currently, the code assumes that we'll only have one 2ndary index per column. This has
been reasonable so far but stop being it with CASSANDRA-6382 (you might want to index multiple
fields of the same UDT column) and CASSANDRA-7458 (you may want to have one "normal" index
an multiple functional index for the same column). So we should consider removing that assumption
in the code, which is mainly 2 places:
> # in the schema: each ColumnDefinition only has infos for one index. This part should
probably be tackled in CASSANDRA-6717 so I'm marking this issue as a follow-up of CASSANDRA-6717.
> # in the 2ndary index API: this is the part I'm suggesting we fix in this issue.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message