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

Alex Petrov commented on CASSANDRA-7826:
----------------------------------------

We can reasonably support nesting for {{map}} and {{set}} nested within 
{{map}}. Although complex data types ({{set}} and {{map}}) can (or should) be 
reasonably supported only as values. This would also mean that nesting {{map}} 
inside of {{set}} (since set elements are serialized into the cell path) would 
also not be supported. Allowing them as a key would make the writes much more 
complicated, as, for example, in order to update map that has a nested map 
element as a key: 

{code}
{{a: 1} {b: 2 c: 3}}
{code}

Would result into cell paths with serialised map (schematically speaking): {{ 
{a: 1} b}} and {{ {a: 1} c }}. 

Although having nested collections as value makes most of sense, too, since it 
was exactly the point of simplifying nested lookups and allowing deep updates 
without re-reading a whole structure.

So far, I've made the cell multi-level and adjusted {{MapType}} and {{SetType}} 
to support nested traversals, allowed multi-level {{Value}}s for both Map and 
Set. I'd need to do some more adjustments to make it more presentable, but 
other than that it starts showing first promises.

> support non-frozen, nested collections
> --------------------------------------
>
>                 Key: CASSANDRA-7826
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7826
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: CQL
>            Reporter: Tupshin Harper
>            Assignee: Alex Petrov
>              Labels: ponies
>             Fix For: 3.x
>
>
> The inability to nest collections is one of the bigger data modelling 
> limitations we have right now.



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

Reply via email to