[ https://issues.apache.org/jira/browse/THRIFT-1528?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13865044#comment-13865044 ]
James Haggerty commented on THRIFT-1528: ---------------------------------------- I guess the other way of working around this is to explicitly unset any field with default values, since the receiver will set them all again anyway... (doesn't this seem like a waste of time to you?). --- It would be really useful to have this functionality. Maybe this could be a TProtocol option? > Inconsistency 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 > Fix For: 1.0 > > > 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 was sent by Atlassian JIRA (v6.1.5#6160)