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.

Reply via email to