[
https://issues.apache.org/jira/browse/THRIFT-2526?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14000359#comment-14000359
]
Doug Judd commented on THRIFT-2526:
-----------------------------------
The attached patch thrift-2526.patch fixes this for me.
> Assignment operators and copy constructors in c++ don't copy the __isset
> struct
> -------------------------------------------------------------------------------
>
> Key: THRIFT-2526
> URL: https://issues.apache.org/jira/browse/THRIFT-2526
> Project: Thrift
> Issue Type: Bug
> Components: C++ - Compiler
> Affects Versions: 0.9.2
> Reporter: Dirk Vanden Boer
> Priority: Trivial
> Attachments: thrift-2526.patch
>
>
> I have a thrift protocol that returns a list of items. The items have
> optional fields. Putting these items in a vector the optional fields are not
> sent to clients as the assignment operator does not copy the __isset struct.
> Generated code:
> Item::Item(const Item& other3) {
> id = other3.id;
> title = other3.title;
> itemclass = other3.itemclass;
> thumbnailurl = other3.thumbnailurl;
> }
> Adding __isset = other3.__isset; fixes this issue.
> Same for the assignment operator.
--
This message was sent by Atlassian JIRA
(v6.2#6252)