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

in specification, put "null" first in unions

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.7.7
    • doc
    • 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

        1. AVRO-1482.patch
          3 kB
          Doug Cutting

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: