Complete C rewrite
------------------
Key: AVRO-344
URL: https://issues.apache.org/jira/browse/AVRO-344
Project: Avro
Issue Type: Improvement
Reporter: Matt Massie
Attachments: AVRO-344.patch
This JIRA is for tracking what I hope will be the last C rewrite.
This rewrite
* removes all dependencies on APR and APR-util. Memory is managed now using
reference counting. Hashes implemented using public domain code from Berkeley.
List implemented using BSD license queue.h
* uses the jansson JSON parser for parsing schemas. The Jansson parser is a
high-quality JSON parser in C with an Apache-friendly MIT license
* there is a well-defined object framework that serves both datum and schema
datatypes and provides reference counting. Schemas and datum/values are no
longer part of a single monolithic structure now.
* you can now create a schema from json or by hand in code
* updated to support the new AVRO-163 build layout
* properly checks avro identifiers
* probes for the endianness of the architecture in order to optimize endianness
flipping, e.g. only on big-endian machines are little-endian conversions done.
* documentation is now handled by asciidoc instead of doxygen.
* increased number of schema unit tests
* provides much more schema processing functionality like recursively checking
for equality, checking for matches with promotion, and recursive schema copy.
* lots of bug fixes
This code is by no means complete. Most of the schema processing code is
finished along with the primitive encoders for the binary format but I still
need to complete the read/write path for complex types.
I'm submitting this Jira to make the work public and to solicit feedback in
prep for the 1.3 release.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.