[ https://issues.apache.org/jira/browse/THRIFT-1528?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13227343#comment-13227343 ]
Stefan Gmeiner commented on THRIFT-1528: ---------------------------------------- +1 for Bryan's This would also fix the problem, that in Java fields could be set using public field access which will not set its corresponding isset-field. > Iconsistency in optional fields between Java/C# and python > ---------------------------------------------------------- > > Key: THRIFT-1528 > URL: https://issues.apache.org/jira/browse/THRIFT-1528 > Project: Thrift > Issue Type: Bug > Components: Python - Compiler > Affects Versions: 0.8 > Reporter: Stefan Gmeiner > Priority: Minor > > If a struct contains optional fields with default values the generated python > code serialize differently than Java or C# code. > In Java or C# optional fields are only serialized if a field was set by the > client. If not the field is omited during serialization. This is possible > because C#/Java maintains for each field a 'isset'-boolean which records if a > field was set or not. > However the generated python code does not have such a 'isset'-structure. It > writes every field which is not equal None. As the constructor initialize the > optional fields with their default value, these fields are written whether > they are set or not. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira