You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Marcel Silberhorn (JIRA)" <ji...@apache.org> on 2016/02/24 13:20:18 UTC

[jira] [Created] (AVRO-1803) nullable fields and it's default value

Marcel Silberhorn created AVRO-1803:
---------------------------------------

             Summary: nullable fields and it's default value
                 Key: AVRO-1803
                 URL: https://issues.apache.org/jira/browse/AVRO-1803
             Project: Avro
          Issue Type: Bug
          Components: build
    Affects Versions: 1.8.0, 1.7.7
            Reporter: Marcel Silberhorn
            Priority: Minor


as described in
https://avro.apache.org/docs/current/spec.html
{quote}h6. Unions

Unions, as mentioned above, are represented using JSON arrays. For example, {{\["null", "string"\]}} declares a schema which may be either a null or string.

(Note that when a default value is specified for a record field whose type is a union, the type of the default value must match the +first+ element of the union. Thus, for unions containing "null", the "null" is usually listed first, since the default value of such unions is typically null.){quote}

and the given example for Handshake with
{code}
{"name": "clientProtocol", "type": ["null", "string"]},
{code}

or even the "tweet.hashtags" example from http://stackoverflow.com/questions/31864450

as seen in http://stackoverflow.com/questions/9417732 you have to explicit define the {{"default": null}} for the "nullable union field", else you get

{{Field clientProtocol type:UNION pos:0 not set and has no default value}}

so either there is a bug in the documentation or in the code ,)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)