[
https://issues.apache.org/jira/browse/CASSANDRA-7423?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14123474#comment-14123474
]
Robert Stupp commented on CASSANDRA-7423:
-----------------------------------------
One question (just for understanding):
Would this mean that each deeply nested field is persisted individually?
For a user-type in a user-type it would lead to a column-name
{{upperTypeCol:fieldA:deepTypeFieldA}} (with imaginary column "upperTypeCol" of
type "upperType".
But a {{set}} or {{list}} or {{map}} with user types or collections - wouldn't
these require "blob serialization"?
AFAIK are {{set}}s serialized with column names like
"columnName:setElementValue".
I think "blob serialization" must occur at a certain nesting/usage level - for
example when a UDT is used as a map value - or when a UDT is used in a {{list}}
(for convenience, when list elements are inserted/removed).
> Allow updating individual subfields of UDT
> ------------------------------------------
>
> Key: CASSANDRA-7423
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7423
> Project: Cassandra
> Issue Type: Improvement
> Components: API, Core
> Reporter: Tupshin Harper
> Labels: cql
>
> Since user defined types were implemented in CASSANDRA-5590 as blobs (you
> have to rewrite the entire type in order to make any modifications), they
> can't be safely used without LWT for any operation that wants to modify a
> subset of the UDT's fields by any client process that is not authoritative
> for the entire blob.
> When trying to use UDTs to model complex records (particularly with nesting),
> this is not an exceptional circumstance, this is the totally expected normal
> situation.
> The use of UDTs for anything non-trivial is harmful to either performance or
> consistency or both.
> edit: to clarify, i believe that most potential uses of UDTs should be
> considered anti-patterns until/unless we have field-level r/w access to
> individual elements of the UDT, with individual timestamps and standard LWW
> semantics
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)