[ 
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)

Reply via email to