Uploaded image for project: 'Avro'
  1. Avro
  2. AVRO-1482

in specification, put "null" first in unions

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.7.7
    • Component/s: doc
    • Labels:
      None

      Description

      Unions with null are a common schema idiom. When a default-value is specified, it is most often null. Default values for unions must be of the type of the first element in the union. So normally, when specifying a union with null, one places the null first so that one can use null as the default value. Folks often make the mistake of specifying null as the default value when it is not the first value in the union. Thus the best practice is to put null as the first element when it is in a union unless you specify a non-null default value.

      Several example schemas in the specification do not put the null first in the union schema. The specification should set a better example, to help folks to avoid this potential confusion. It might also mention this issue more explicitly.

        Attachments

          Activity

            People

            • Assignee:
              cutting Doug Cutting
              Reporter:
              cutting Doug Cutting
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: