avro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Doug Cutting (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AVRO-151) Validating Avro schema parser in C
Date Fri, 16 Oct 2009 17:16:31 GMT

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

Doug Cutting commented on AVRO-151:

For future reference, the primary commit for this issue was revision 825593.


Matt, in the future, remember to not only update CHANGES.txt, but also to name the Jira issue
in each commit message.  That creates links from Jira to the commit, which can be very convenient.

The C code is still in an early state, and does not yet require reviews before each commit.
 But it's still best practice to file an issue, post the patch, and then wait a day or so
for feedback before committing.  As the C code becomes complete and others start to use and
contribute to it, this will evolve to requiring another committer to +1 each patch before
it commits.  We're willing to streamline that now, but we still want a Jira issue per patch
and an opportunity for folks to remark on things before they're committed.  Thanks!

> Validating Avro schema parser in C
> ----------------------------------
>                 Key: AVRO-151
>                 URL: https://issues.apache.org/jira/browse/AVRO-151
>             Project: Avro
>          Issue Type: New Feature
>          Components: c
>            Reporter: Matt Massie
>            Assignee: Matt Massie
> This Jira is for tracking commit r825593 "Added a validating Avro schema parser in C"
> This commit adds a schema parser which validates the schema while generating an intermediate
tree of value objects for printing, reading, skipping and writing avro values.  You'll notice
that the C code is written in an object-oriented fashion with clear interfaces, data encapsulation,
etc.  My primary focus at this time is to make the core source as easy to understand and work
on as possible to make it easier to add new developers moving forward.  I plan to add a developers
guide to src/c soon to help toward that end as well.  I've separated the public API into avro.h
and the private API into avro_private.h.  You'll notice that currently there is no public
API.  Once the internals are built correctly (with better error reporting), sketching out
the public API will be easier and can focus on usability and flexibility for consumers of
Avro in C.
> I'm very near to having Avro file object containers working and you can see the code
for that in the source (avro_file_container.c).  It correctly parses the interop.avsc and
reads the non-recursive elements.  My only blocker for file containers now is support for
reading recursive schemas (I'm currently using a decorator when I should have use a factory)
and the fact that a few complex types don't have reading/writing support.  I expect file object
container support to be finished soon.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message