[
https://issues.apache.org/jira/browse/THRIFT-1528?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13221296#comment-13221296
]
Bryan Duxbury commented on THRIFT-1528:
---------------------------------------
>From my perspective, its insane to have a field have a value and not to
>serialize it. In fact, the whole "isset" thing in Java is just a hack around
>the fact that you can't have null primitives. I would vote for standardizing
>on default values being considered set at object creation.
(An interesting detail is that in Java, the isset field only covers fields
that's can't be natively set to null, so a default value for a struct, string,
binary, or collection type actually would be serialized, while a bool, byte,
short, int, long, or double would not be.)
> 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