avro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Zoltan Farkas (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AVRO-1723) Add support for forward declarations in avro IDL
Date Thu, 10 Sep 2015 19:48:46 GMT

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

Zoltan Farkas commented on AVRO-1723:
-------------------------------------

There is no change to the IDL. It just does not matter anymore the order of declaration.

If you look at https://github.com/zolyfarkas/avro/commit/210c50105717149f3daa39b8d4160b8548b8e363
, I have created:

org.apache.avro.UnresolvedSchema

which is being used instead of throwing an error when building the schema on first pass.

There is an extra pass where all UnresolvedSchema's are being resolved. (replaced with the
actual schema)

it is a fairly simple implementation, let me know if you have any question.

> Add support for forward declarations in avro IDL
> ------------------------------------------------
>
>                 Key: AVRO-1723
>                 URL: https://issues.apache.org/jira/browse/AVRO-1723
>             Project: Avro
>          Issue Type: Improvement
>    Affects Versions: 1.8.0
>            Reporter: Zoltan Farkas
>
> Currently Recursive data structures like:
> record SampleNode {
>    int count = 0;
>    array<SamplePair> samples = [];
> }
> record SamplePair {
>  string name;
>  SampleNode node;
> }
> It is not possible to declare in IDL,
> however it is possible to declare in avsc (with fix from https://issues.apache.org/jira/browse/AVRO-1667
)
> It is actually not complicated to implement, here is some detail on a possible implementation:
> https://github.com/zolyfarkas/avro/commit/210c50105717149f3daa39b8d4160b8548b8e363
> This would close a capability gap with google protocol buffers...



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message