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] [Updated] (AVRO-1723) Add support for forward declarations in avro IDL
Date Wed, 26 Apr 2017 17:36:04 GMT

     [ https://issues.apache.org/jira/browse/AVRO-1723?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Zoltan Farkas updated AVRO-1723:
--------------------------------
    Release Note: 
With this patch recursive data structures will be supported in IDL:

record SampleNode {
  int count = 0;
  array<SamplePair> samples = []; 
}
record SamplePair {
 string name;
 SampleNode node; 
}

Also the order of declaration of named types will not matter anymore. (similar with other
languages like java)

Compatibility: 

All schemas that are compilable with older versions of AVRO will continue working without
issues.
IDLs that will take advantage of the the features introduced with this patch, will not be
compilable with older versions of AVRO
please see the dependent JIRAs for more detail on related issues.

  was:
With this patch recursive data structures will be supported in IDL:

{code}
record SampleNode {
  int count = 0;
  array<SamplePair> samples = []; 
}
record SamplePair {
 string name;
 SampleNode node; 
}
{code}

Also the order of declaration of named types will not matter anymore. (similar with other
languages like java)

Compatibility: 

All schemas that are compilable with older versions of AVRO will continue working without
issues.
IDLs that will take advantage of the the features introduced with this patch, will not be
compilable with older versions of AVRO
please see the dependent JIRAs for more detail on related issues.


> 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
>            Assignee: Zoltan Farkas
>         Attachments: AVRO-1723.patch
>
>
> 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.15#6346)

Mime
View raw message