[
https://issues.apache.org/jira/browse/HBASE-8693?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13711250#comment-13711250
]
Nick Dimiduk commented on HBASE-8693:
-------------------------------------
Moving [~mbertozzi]'s comment from the dev list back to JIRA:
bq. I was looking at the HBASE-8693 patch, and looks good to me for the
primitive types.
Thanks, and I'm glad to hear it. Any comments about redundant or missing types
a user would expect out of the box?
bq. but I can't see how do you plan to evolve stuff like the struct.
Struct is a programatic data structure, not a tool for schema management. It
has no concept of "upgrade Struct Foo, version 1 to Foo version 2 by adding a
new field in the middle here and changing the last one from X to Y." It's a
convenience for manipulating complex {{byte[]}} structures. Schema management
may become of concern for HBase, but that's out of scope. Any chance this topic
came up at yesterday's meetup?
bq. By "evolve" I mean add/remove fields, or just query it with a subset of
fields. the fields don't have an id, and on read you must specify all of them
in the same order as you've used for write. (but maybe is just an
immutable/fixed list of fields, and I'm ok with just adding that info to the
comment on top of the class)
I discovered this missing API while working through the example use patch,
above. The update I posted on RB yesterday adds an API for accessing a specific
struct member by position. If RB links work, take a look at
[Struct#read(ByteBuffer,
int)|https://reviews.apache.org/r/12069/diff/2-3/#12.21].
> Implement extensible type API based on serialization primitives
> ---------------------------------------------------------------
>
> Key: HBASE-8693
> URL: https://issues.apache.org/jira/browse/HBASE-8693
> Project: HBase
> Issue Type: Sub-task
> Components: Client
> Reporter: Nick Dimiduk
> Assignee: Nick Dimiduk
> Fix For: 0.95.2
>
> Attachments: 0001-HBASE-8693-Extensible-data-types-API.patch,
> 0001-HBASE-8693-Extensible-data-types-API.patch,
> 0001-HBASE-8693-Extensible-data-types-API.patch,
> 0002-HBASE-8693-example-Use-DataType-API-to-build-regionN.patch
>
>
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira