On Fri, Oct 19, 2012 at 5:19 PM, Mark Hayes <[EMAIL PROTECTED]> wrote:
> It looks like the Schema parser doesn't check a field's default value
> against the field's type. So for example, you can define a string default
> value for a field of type int. Since the default value is only used in
> certain circumstances for schema resolution, such an error might not easily
> be caught during testing, so the danger is that it would crop up at runtime.
> Am I correct, so far?
Yes, that's correct.
> If so, does anyone know of facility in the Avro library, or another library,
> for checking the schema to ensure that default values are of the proper
> type? I wasn't able to find one, so I'm considering implementing one
No, I don't know of a default value validator that's been implemented
yet. It would be great to have one.
I think this would recursively walk a schema. Whenever a non-null
default value is found it could call ResolvingGrammarDecoder#encode().
That's what interprets Json default values. (Perhaps this logic
should be moved, though.)