Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Not A Problem
-
1.7.7, 1.8.0
-
None
-
None
Description
as described in
https://avro.apache.org/docs/current/spec.html
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.)
and the given example for Handshake with
{"name": "clientProtocol", "type": ["null", "string"]},
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 ,)
If its "just" a documentation error, please decrease this bug to a wish: add some compiler warnings when using union without default value
Attachments
Issue Links
- is related to
-
AVRO-1927 If a default value is set, Avro allows null values in non-nullable fields.
- Open