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

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: https://issues.apache.org/jira/browse/CASSANDRA-7859
>             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
(v6.3.4#6332)

Reply via email to