It seems tricky to add a nullable field with a default (for compatibility
with previous versions).  I find that the type of the default value must be
declared first in the union.  For example, this works:

{"name":"myField", "type":["int", "null"], "default": 3}

But this doesn't:

{"name":"myField", "type":["null", "int"], "default": 3}

When I resolve the latter from a writer's schema that doesn't declare the
field, I get the value null, not 3.  There's a similar problem with a null
default: the resolved value is zero, not null, if "int" comes first in the
union.

Am I approaching this wrong?  I was hoping the resolver would pick the type
that matches the default value.  It seems unambiguous, in this case.

I'm using the Java implementation.

- John Kristian

Reply via email to