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 (Issue Comment Edited) (JIRA)" <ji...@apache.org> on 2012/03/10 18:22:58 UTC

[jira] [Issue Comment Edited] (THRIFT-1528) Iconsistency in optional fields between Java/C# and python

    [ https://issues.apache.org/jira/browse/THRIFT-1528?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13226901#comment-13226901 ] 

Jens Geyer edited comment on THRIFT-1528 at 3/10/12 5:21 PM:
-------------------------------------------------------------

{quote}From my perspective, its insane to have a field have a value and not to serialize it. [...] I would vote for standardizing on default values being considered set at object creation.{quote}

+1
                
      was (Author: jensg):
    {quote}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.{quote}

+1
                  
> 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