[ https://issues.apache.org/jira/browse/THRIFT-1732?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13573630#comment-13573630 ]
Kevin Stanton commented on THRIFT-1732: --------------------------------------- I would like to take a look at the patch but I'm unfamiliar with the underlying thrift source. Should I clone from the github mirror, or from somewhere else? What branch/version should I apply your patch to to check it out? I am interested in verifying that validation of primitives is also taking place. > 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