Avro
  1. Avro
  2. AVRO-172

Don't include value class data/methods in each instance of a value

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.0.0, 1.1.0, 1.2.0
    • Fix Version/s: 1.3.0
    • Component/s: c
    • Labels:
      None

      Description

      This patch is in response to Thiru's feedback about the current C implementation. Thanks, Thiru! I appreciate the feedback.

      Previously, all instances of an Avro value contained class-specific data and methods (e.g. callbacks for reading, skipping and writing data). This is inefficient and unnecessary.

      This patch creates a per value class registry to hold all class-wide information.

      Moreover, this patch creates the framework necessary for support the Avro JSON import/export format. Each value class registers all supported data formats (named AVRO_BINARY_FORMAT and AVRO_JSON_IMPORT_EXPORT_FORMAT). The current JSON parser is a DOM-like parser which is really only suitable for process schema data. The callbacks registered in the value class registry will allow us to process JSON data in a SAX-link fashion moving forward.

      1. AVRO-172.patch
        46 kB
        Matt Massie

        Activity

        Hide
        Matt Massie added a comment -

        ------------------------------------------------------------------------
        r830265 | massie | 2009-10-27 10:47:55 -0700 (Tue, 27 Oct 2009) | 2 lines

        AVRO-172. Don't include value class data/methods in each instance of a value when processing schemas.

        Show
        Matt Massie added a comment - ------------------------------------------------------------------------ r830265 | massie | 2009-10-27 10:47:55 -0700 (Tue, 27 Oct 2009) | 2 lines AVRO-172 . Don't include value class data/methods in each instance of a value when processing schemas.

          People

          • Assignee:
            Matt Massie
            Reporter:
            Matt Massie
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Time Tracking

              Estimated:
              Original Estimate - 4h
              4h
              Remaining:
              Remaining Estimate - 0h
              0h
              Logged:
              Time Spent - 4h
              4h

                Development