[ https://issues.apache.org/jira/browse/THRIFT-1732?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13573635#comment-13573635 ]
Kamil Sałaś commented on THRIFT-1732: ------------------------------------- Clone from: git://github.com/apache/thrift.git :) You should apply the patch against trunk :) The github mirror is quite out-of-date. > 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 > Assignee: Kamil Sałaś > Priority: Minor > Attachments: > 0001-THRIFT-1732-Thrift-should-provide-deep-validation-of.patch, > 0001-THRIFT-1732-Thrift-should-provide-deep-validation-of_v2.patch, > thrift-1732_v3.patch > > > 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