Avi Flamholz created THRIFT-1732:
------------------------------------

             Summary: Thrift should provide deep-validation of structures
                 Key: THRIFT-1732
                 URL: https://issues.apache.org/jira/browse/THRIFT-1732
             Project: Thrift
          Issue Type: New Feature
          Components: Python - Compiler
    Affects Versions: 0.9
         Environment: All.
            Reporter: Avi Flamholz
            Priority: Minor


The validate() method in Python does extremely shallow validation: it checks 
only that required fields are not None. It does not check that field values 
have the correct type or that embedded structures or collections are valid.

This is paltry validation as compared to IsInitialized() in the Python Protocol 
Buffers implementation, which descends into embedded structures and checks that 
they are valid. Not to mention that ProtocolBuffers also check value types on 
assignment. 

It is fairly simple to generate a deep_validate() method that will recursively 
descend into structures and collections and call validate() on those which can 
be validated. I've written something of the sort and I'm curious if it would be 
a welcome addition to the Python generated code.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to