[ https://issues.apache.org/jira/browse/AVRO-2864?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17231323#comment-17231323 ]
Oscar Westra van Holthe - Kind commented on AVRO-2864: ------------------------------------------------------ The array schema can also have properties. This means that the property is placed correctly. To have the logical type on the array elements, you'd have to use this: {code:java} protocol _ { record R { array<@logicalType("timestamp-micros") long> times; } } }{code} > IDL does not fully support arbitrary logical types > -------------------------------------------------- > > Key: AVRO-2864 > URL: https://issues.apache.org/jira/browse/AVRO-2864 > Project: Apache Avro > Issue Type: Bug > Reporter: Roger > Priority: Major > > There seems to be no way to specify a logical type other than the ones built > in to IDL (decimal, date, time-millis, timestamp-millis) when the type is not > used at the top level in a field. > For example, it is not possible to specify an array of long with logical type > timestamp-micros. > If you do: > {code:none} > protocol _ { > record R { > @logicalType("timestamp-micros") > array<long> times; > } > } > } > {code} > the "logicalType" attribute will be associated with the array type and not > the element type. > The resulting AVSC (as converted by the idl2schemata tool) looks like this: > {code:json} > { > "type" : "record", > "name" : "R", > "fields" : [ { > "name" : "times", > "type" : { > "type" : "array", > "items" : "long", > "logicalType" : "timestamp-micros" > } > } ] > } > {code} > I would expect the logical type to be associated with the element type, but > even if the tool is changed to do that, it's still not complete, because > there's no way to associate a logical type with a member of a union. -- This message was sent by Atlassian Jira (v8.3.4#803005)