[
https://issues.apache.org/jira/browse/AVRO-601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12892931#action_12892931
]
David Rosenstrauch commented on AVRO-601:
-----------------------------------------
Implementation suggestion:
In other words, what I'd like to be able to do, given the schema above is like
so:
Schema schema = Schema.parse(schemaText);
Schema.Field keyField = schema.getField("key");
String keyFieldAlias = keyField.getProp("alias");
> Enhance schema parser to allow arbitrary properties to be defined on a record
> field
> -----------------------------------------------------------------------------------
>
> Key: AVRO-601
> URL: https://issues.apache.org/jira/browse/AVRO-601
> Project: Avro
> Issue Type: Improvement
> Components: java, spec
> Environment: All
> Reporter: David Rosenstrauch
> Priority: Minor
>
> It's currently not possible to add an arbitrary property on a record field.
> e.g., in the following example, although the schema parses fine, the "alias"
> property gets thrown away:
> {
> "name": "KVPair",
> "type": "record",
> "fields" : [
> {"name": "key", "type": "int", "alias": "EventTime"},
> {"name": "values", "type": "bytes"}
> ]
> }
> I had read the Avro spec and thought this was actually allowed ("Attributes
> not defined in this document are permitted as metadata, but must not affect
> the format of serialized data.") but it appears that such additional
> properties are only allowed at the schema level, not at the field level too.
> This would be a really useful feature to have, as it would allow the user to
> define meta-data on a field. Currently the only other way to achieve the
> same behavior would be to do some kind of hack using the field's "doc"
> attribute, which would be rather ugly.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.