[ 
https://issues.apache.org/jira/browse/AVRO-219?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12795166#action_12795166
 ] 

Doug Cutting commented on AVRO-219:
-----------------------------------

A few random comments from someone who does not program in Python:
 - please package this as a single patch file that replaces the existing 
implementation.
 - some of the TODO's seem critical, like skip_int.
 - those big if .. elif expressions in read_data, write_data and skip_data look 
like performance pits.  might something like 
http://simonwillison.net/2004/May/7/switch/ be better? or should schema itself 
have read/write/skip methods?
 - validate is overkill for picking the union branch.  a union can only have 
one branch of each unnamed type, and named types can be distinguished by name.  
in python, the only two types that are not distinct are records and maps, since 
both are represented by python dicts.  so any dict without a name might be 
considered a map and those with are records whose names can be checked against 
the schema in the union.


> Rewrite Python implementation's IO path (schema.py, io.py, genericio.py, 
> datafile.py) and associated tests
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: AVRO-219
>                 URL: https://issues.apache.org/jira/browse/AVRO-219
>             Project: Avro
>          Issue Type: Improvement
>          Components: python
>            Reporter: Jeff Hammerbacher
>            Assignee: Jeff Hammerbacher
>         Attachments: AVRO-219-schema-io-and-datafile.patch, 
> AVRO-219.patch.schema, AVRO-219.patch.schema_and_io
>
>
> Currently, the unit tests for schema.py, genericio.py, and datafile.py are 
> grouped in with the unit tests for io.py in testio.py. We should break the 
> tests into individual files so that we have better modularization of tests.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to