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-751) Store schema reference in datum instances
Date Tue, 01 Feb 2011 17:46:29 GMT

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

Doug Cutting commented on AVRO-751:

This is the way that Java implements this.  It is consistent and convenient to keep a reference
to the schema, providing full type information at runtime.  It slightly increases the size
of only the map and array headers.

> Store schema reference in datum instances
> -----------------------------------------
>                 Key: AVRO-751
>                 URL: https://issues.apache.org/jira/browse/AVRO-751
>             Project: Avro
>          Issue Type: Improvement
>          Components: c
>            Reporter: Douglas Creager
>            Assignee: Douglas Creager
>         Attachments: 0001-Store-schema-reference-in-datum-instances.patch
> This is a patch that lets us keep track of which schema an avro_datum_t is an instance
of.  This is a breaking API change, but I think it makes the API simpler and more logical.
 From the commit message:
>     We now keep track of which particular schema an avro_datum_t is an
>     instance of.  For primitive values, there's only one possible schema,
>     and so we don't store an explicit reference.  For compound values, the
>     datum constructors now take in a schema parameter, which is stored in
>     the avro_datum_t instance.  For records, enums, and fixeds, this means
>     that we don't need to store the name of the schema type anymore, since
>     we can get this from the schema.
>     There were also several functions, which operate on datum instances,
>     which needed to take in a schema parameter — avro_datum_to_json, as an
>     example.  Those parameters aren't needed anymore, since the datum
>     carries a reference to its own schema already.

This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message