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

Bridger Howell commented on AVRO-2019:
--------------------------------------

Isn't the way {{logicalType}} decorators work on types in IDL just a natural 
consequence of how IDL treats _any_ decorator on a type as a JSON property for 
that type, combined with the meaning of that field in the spec?

I think this intent is expressed clearly enough in the IDL documentation 
"Annotation Ordering and Namespaces" (perhaps this section title is a bit too 
specific):
{quote}
Java-style annotations may be used to add additional properties to types and 
fields throughout Avro IDL.
{quote}
(Some details on specific properties/annotations)
{quote}
Some annotations like those listed above are handled specially. All other 
annotations are added as properties to the protocol, message, schema or field.
{quote}

I don't think I found a great generic/shared test of this, but there are at 
least a few spots where the the set of tests ran by 
{{org.apache.avro.compiler.idl.TestIdl}} show off this kind of behavior.

For the IDL input {{simple.avdl}}, I see a case where the type of a field 
declared like:
{{@foo("bar") MD5 hash = "0000000000000000";}}
has the property {{"foo": "bar"}}.

> Improve documentation for logical type annotations in IDL
> ---------------------------------------------------------
>
>                 Key: AVRO-2019
>                 URL: https://issues.apache.org/jira/browse/AVRO-2019
>             Project: Avro
>          Issue Type: Improvement
>          Components: doc, logical types
>            Reporter: Andrew Rosca
>            Priority: Minor
>         Attachments: AVRO-2019.patch
>
>
> The IDL documentation lacks information for how annotations can be specified 
> for logical types, like in the following example:
> {code}
> protocol test {
>     record test {
>         @logicalType("timestamp-millis")
>         long time;
>     }
> }
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to