You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Douglas Creager (JIRA)" <ji...@apache.org> on 2011/01/05 23:00:51 UTC

[jira] Updated: (AVRO-727) Plethora of new accessors/mutators

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

Douglas Creager updated AVRO-727:
---------------------------------

    Attachment: 0001-Plethora-of-new-accessor-mutator-methods.patch

Aforementioned patch

> Plethora of new accessors/mutators
> ----------------------------------
>
>                 Key: AVRO-727
>                 URL: https://issues.apache.org/jira/browse/AVRO-727
>             Project: Avro
>          Issue Type: Improvement
>          Components: c
>            Reporter: Douglas Creager
>            Assignee: Douglas Creager
>         Attachments: 0001-Plethora-of-new-accessor-mutator-methods.patch
>
>
> I'm attaching a patch that adds a slew of new accessor and mutators methods to the C API.  I think this is basically complete — any useful piece of information about any of the schema or datum types can now be retrieved and set.
> Some notes from the commit message:
>       - You can create the appropriate avro_datum_t instance for an
>         arbitrary schema with the new avro_datum_from_schema() function.
>         For records, this includes creating a datum instance for each of the
>         record's fields.  Arrays and maps are initially created empty, while
>         a union is created with none of its branches initially selected.
>         This prevents the function from going into an endless loop for
>         recursive schemas.
>     
>       - The active branch of a union can now be changed.  If the desired
>         branch is already active, this has no result.  Otherwise, a new
>         avro_datum_t is created for the new branch.
>     
>       - Map values can now be accessed by index as well as by key.  The
>         index of a map entry is based on the order that it was added to the
>         map.
>     
>       - Enum values can be retrieved or set either by integer value or by
>         symbol name.
>     
>     A couple of the new functions need access to the schema of a datum in
>     order to work.  These functions take in the schema instance as an extra
>     parameter.  A better solution might be to include a reference to a
>     schema object in each avro_datum_t instance.

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