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

        Matt Massie created issue -
        Matt Massie made changes -
        Field Original Value New Value
        Attachment AVRO-172.patch [ 12423255 ]
        Matt Massie made changes -
        Status Open [ 1 ] Patch Available [ 10002 ]
        Matt Massie made changes -
        Remaining Estimate 4h [ 14400 ] 0h [ 0 ]
        Time Spent 4h [ 14400 ]
        Matt Massie made changes -
        Assignee Matt Massie [ massie ]
        Matt Massie made changes -
        Status Patch Available [ 10002 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Doug Cutting made changes -
        Fix Version/s 1.2.1 [ 12314317 ]
        Doug Cutting made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          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