[ 
https://issues.apache.org/jira/browse/AVRO-1289?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Kulp updated AVRO-1289:
------------------------------
    Fix Version/s:     (was: 1.9.0)

> Python: Schema objects should polymorphically interact with data-walker 
> interface
> ---------------------------------------------------------------------------------
>
>                 Key: AVRO-1289
>                 URL: https://issues.apache.org/jira/browse/AVRO-1289
>             Project: Apache Avro
>          Issue Type: Improvement
>          Components: python
>    Affects Versions: 1.7.5
>            Reporter: Jeremy Kahn
>            Assignee: Jeremy Kahn
>            Priority: Minor
>              Labels: features
>
> Python {{avro.schema}} objects should be able to call back to a general 
> data-and-schema parallel-walker ("validate" would be one of those, but so 
> could be "default-filler"). 
> There should be an {{avro.walker}} interface that owns the parallel state (a 
> datum-reader/deserializer, a datum-writer/serializer, a validator, or a 
> default-filler -- see AVRO-1265). Schema polymorphism would allow us to 
> eliminate the large (and highly redundant) function-dispatch methods in 
> {{avro.io}} by making the {{avro.schema.Schema}} subclass responsible for 
> calling back to the {{avro.walker}} object.
> Assigning this to v1.8.0 because it may be difficult to duplicate *every* 
> behavior of 1.7.* with the same function signatures, especially where this 
> refactor may be eliminate entire classes.
> This factoring ought to make it easier to improve or extend objects that meet 
> this {{walker}} interface -- validators & serializers might be able to store 
> more state about their position within a record, for example, to yield more 
> informative error messages upon mismatch (as requested by Jonathan Coveney on 
> the user mailing list).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to