[
https://issues.apache.org/jira/browse/AVRO-465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12845437#action_12845437
]
Matt Massie commented on AVRO-465:
----------------------------------
I think the function in your patch could be a good addition to the C API
regardless
{code}
avro_schema_t avro_schema_from_file_reader(avro_file_reader_t reader) {
return reader->writers_schema;
}
{code}
should probably look like
{code}
avro_schema_t avro_schema_from_file_reader(avro_file_reader_t reader) {
return reader? reader->writers_schema: NULL;
}
{code}
in case a NULL reader is passed to the function. Also, please add the new
method to {{avro.h}}.
> C implementation requires you to know a file's schema before reading
> --------------------------------------------------------------------
>
> Key: AVRO-465
> URL: https://issues.apache.org/jira/browse/AVRO-465
> Project: Avro
> Issue Type: Bug
> Components: c
> Affects Versions: 1.3.0
> Reporter: Jeff Hodges
> Attachments: AVRO-465-schema_for_reader.patch
>
>
> The C implementation gives the user no way of reading the objects in a data
> file without knowing the file's schema ahead of time.
> While it does fill in the writers_schema part of the avro_file_reader_t on
> read, this field is not available to the API as it is left out of avro.h. Two
> options persent itself: 1) preserve the API as is and add a
> avro_schema_from_file_reader() function or 2) move the avro_file_reader_t and
> avro_file_writer_t structs to avro.h.
> A third option, that I don't approve of, is providing a function that reads
> from a datafile but uses the writers_schema in the reader given instead of
> requiring another schema to be passed into it. This is problematic because
> anyone using the API would have fewer debugging and testing options when
> dealing with interop datasets. Any problem that occurs might just be the
> schema in the file being off, or whatever.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.