[ 
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)

Reply via email to