Aaron Kimball 2013-01-30, 23:17
Doug Cutting 2013-01-31, 18:39
That sounds like what I'm looking for. I'll take a look!
On Jan 31, 2013 10:39 AM, "Doug Cutting" <[EMAIL PROTECTED]> wrote:
> You can use the SchemaNormalization class to test if two schemas are
> effectively identical:
> AVRO-816 has code to tell whether one Schema subsumes another (i.e.,
> can, with resolution, read the other) and to combine multiple schemas
> into a single that subsumes them all.
> Bob Cotton recently suggested that we should commit some form of this.
> I'd be happy to do this if others agree.
> On Wed, Jan 30, 2013 at 3:17 PM, Aaron Kimball <[EMAIL PROTECTED]>
> > Does Avro have an API to allow you to tell whether two schemas are a
> > statically?
> > i.e., schema1.canRead(schema2) /** return true iff schema1 can be used
> as a
> > reader schema for schema2 */
> > From my (admittedly cursorary) scan of the docs + source, it seems like
> > there isn't something quite that concise, though maybe this can be
> > accomplished using ResolvingGrammarGenerator?
> > I'm pessimistic because of the following quote from the spec 
> > [matching] if both are unions:
> > The first schema in the reader's union that matches the selected writer's
> > union schema is recursively resolved against it. if none match, an error
> > signalled.
> > That sentence makes me think it's context dependent; I interpret "the
> > selected writer's union schema" as "the schema of the actual thing
> > in a data buffer, which is one of the possible schemas the writer
> > in her union type". i.e., you can only tell if schema R can be a reader
> > some other schema W in terms of a literal record written by W, and
> cannot be
> > deduced statically for all possible records that can be encoded with
> > W. Is this interpretation correct? If so, does anyone have any ideas
> how to
> > ensure the best bounds on statically-guaranteed backward compatibility
> > between a given reader and writer?
> > Thanks,
> > - Aaron
> >  http://avro.apache.org/docs/current/spec.html#Schema+Resolution
Aaron Kimball 2013-02-01, 21:42
Doug Cutting 2013-02-04, 22:30