cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tyler Hobbs (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-7859) Extend freezing to collections
Date Thu, 25 Sep 2014 21:29:35 GMT


Tyler Hobbs commented on CASSANDRA-7859:

For secondary indexes, do we want to support indexing keys and values of frozen collections?
 If so, do we want to introduce a {{values()}} modifier to indicate that values should be
indexed and index the whole collection by default?  If we assume that the values should be
indexed when no modifier is used, it will be consistent with the behavior for non-frozen collections.
 On the other hand, we actually have the ability to index the entire frozen collection, and
this may be more in line with how frozen collections will be used.

My personal opinion is that we should:
# Introduce a {{values()}} modifier that can be used on collection indexes.  For non-frozen
collections, this is implied.
# Accept both {{keys()}} and {{values()}} indexes on frozen collections.
# By default, indexes on frozen collections will index the entire collection.

I can (and probably should) split secondary index work into a second ticket, but it would
be good to decide some of this upfront in case that ticket can't make it into the same release
as this one.

> Extend freezing to collections
> ------------------------------
>                 Key: CASSANDRA-7859
>                 URL:
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Sylvain Lebresne
>            Assignee: Tyler Hobbs
>             Fix For: 2.1.1
> This is the follow-up to CASSANDRA-7857, to extend {{frozen}} to collections. This will
allow things like {{map<text, frozen<map<int, int>>>}} for instance, as
well as allowing {{frozen}} collections in PK columns.
> Additionally (and that's alsmot a separate ticket but I figured we can start discussing
it here), we could decide that tuple is a frozen type by default. This means that we would
allow {{tuple<int, text>}} without needing to add {{frozen}}, but we would require {{frozen}}
for complex type inside tuple, so {{tuple<int, list<text>>}} would be rejected,
but not {{tuple<int, frozen<list<text>>>}}.

This message was sent by Atlassian JIRA

View raw message