You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Jens Geyer (JIRA)" <ji...@apache.org> on 2013/04/09 22:08:16 UTC
[jira] [Updated] (THRIFT-1528) Inconsistency in optional fields
between Java/C# and python
[ https://issues.apache.org/jira/browse/THRIFT-1528?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jens Geyer updated THRIFT-1528:
-------------------------------
Summary: Inconsistency in optional fields between Java/C# and python (was: Iconsistency in optional fields between Java/C# and python)
> 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
> Priority: Minor
> Attachments: 0001-Mark-defaulted-optionals-set-in-Java.patch, 0002-Mark-defaulted-optionals-set-in-C-sharp.patch
>
>
> 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
For more information on JIRA, see: http://www.atlassian.com/software/jira