Jonathan Rapoport created AVRO-2918:
---------------------------------------

             Summary: Schema polymorphism
                 Key: AVRO-2918
                 URL: https://issues.apache.org/jira/browse/AVRO-2918
             Project: Apache Avro
          Issue Type: New Feature
          Components: logical types, misc, spec
            Reporter: Jonathan Rapoport


Include the option to use named types as base types for a new schema. Allow for 
MRO generation. Field inheritance. 

The benefits of this approach include:
 * Defining a schema as validation for a certain wire, and so allowing the 
receiver to be certain of the structure of the data (this works today). 
However, defining an extension of this schema, or certain schemas which can be 
normalized to the original schema, but contain additional information, will not 
allow it to be sent over the same wire.
 * Backwards compatibility through inheritance - you never break the old 
schema, thus allowing a long integration period, with no need to recode all 
processes familiar with the schema. The new schema will simply inherit the old 
one, and only add information.
 * Allow for full data control through polymorphism, and the ability to replace 
structures within any supported language. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to