Can you give an example of a specific field that has different values
between the old and new messages? I suspect the problem might be that
you're expecting them to be equal on a byte-for-byte comparison of their
in-memory structure, and that will usually not be the case because the
messages will contain things like pointers to submessages.

On Wed, May 29, 2019 at 11:06 AM Boris Pitel <[email protected]> wrote:

> Adam, the new deserealized object doesn't contain ANY data which was in
> original object instance.
>
> To put it simple
> 1) we have obj
> 2) we make a string obj.SerializetoString ( & body)
> 3) We parse the string into new object : newobj.ParseFromString ( body).
> 4) I expect obj == newobj. But it isn't so. newobj is not equal to obj (
> in terms of content - field value)
>
> Thanks,
> Boris
>
>
> On Wednesday, May 29, 2019 at 1:41:48 PM UTC-4, Adam Cozzette wrote:
>>
>> Hmm, that makes me think perhaps everything is working then. What is
>> different about the messages in a way that you didn't expect?
>>
>> On Wed, May 29, 2019 at 10:37 AM Boris Pitel <[email protected]> wrote:
>>
>>> 89. The same as original object.
>>> It is strange. Isn't it?
>>>
>>>
>>>
>>> On Wednesday, May 29, 2019 at 1:12:35 PM UTC-4, Adam Cozzette wrote:
>>>>
>>>> What's the value of pnewObj->_objectSetType.ByteSizeLong() after the
>>>> parse?
>>>>
>>>> On Wed, May 29, 2019 at 10:01 AM Boris Pitel <[email protected]>
>>>> wrote:
>>>>
>>>>> Thank you, Adam!
>>>>> Yes, both returns values are true, and size is very reasonable - 89.
>>>>> Any other ideas? :(
>>>>> -Boris
>>>>>
>>>>>
>>>>> On Wednesday, May 29, 2019 at 12:57:49 PM UTC-4, Adam Cozzette wrote:
>>>>>>
>>>>>> So after parsing, the message is just empty? The first thing I would
>>>>>> do is double-check that SerializeToString() and ParseFromString() are
>>>>>> returning true and also verify that the length of the serialized string 
>>>>>> is
>>>>>> reasonable.
>>>>>>
>>>>>> On Wed, May 29, 2019 at 9:48 AM Boris Pitel <[email protected]>
>>>>>> wrote:
>>>>>>
>>>>>>> Ok, let me explain. I have a class let's call it PriceTicObjectSet.
>>>>>>> This class is a wrapper around protobuf class. This PriceTicObjectSet 
>>>>>>> has
>>>>>>> member variables which are directly point to protobuf class variables -
>>>>>>> just setters and getters. Function toString is for convenience only, 
>>>>>>> all it
>>>>>>> does it is dumps the content of  the instance of PriceTicObjectSet. Its
>>>>>>> implementation is like :
>>>>>>> .....
>>>>>>> if ( name_internal != NULL ) toReturn += ("name=" +
>>>>>>> name_internal->value() );
>>>>>>> ....
>>>>>>>
>>>>>>> in other words toString() is just not essential here. We could just
>>>>>>> use debugger and see that after ParseFromString the object doesn't 
>>>>>>> change
>>>>>>> at all.
>>>>>>>
>>>>>>> Sorry for not being clear.
>>>>>>>
>>>>>>> Thanks,
>>>>>>>
>>>>>>> -Boris
>>>>>>>
>>>>>>>
>>>>>>> On Wednesday, May 29, 2019 at 12:15:02 PM UTC-4, Adam Cozzette wrote:
>>>>>>>>
>>>>>>>> Could you provide some more details on what that function does and
>>>>>>>> what its outputting? Without that it is hard to know what the problem 
>>>>>>>> is.
>>>>>>>>
>>>>>>>> On Wed, May 29, 2019 at 8:04 AM Boris Pitel <[email protected]>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> toString is just a function which dumps the object
>>>>>>>>> ( PriceTicObjectSet ) - PriceTicObjectSet is just a very thin wrapper
>>>>>>>>> around protobuf class. I use toString to see the content of the 
>>>>>>>>> message.
>>>>>>>>>
>>>>>>>>> -Boris
>>>>>>>>>
>>>>>>>>> On Wednesday, May 29, 2019 at 10:40:02 AM UTC-4, Adam Cozzette
>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>> What does your toString() function do?
>>>>>>>>>>
>>>>>>>>>> On Wed, May 29, 2019 at 7:32 AM Boris Pitel <[email protected]>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hello team,
>>>>>>>>>>> I am new to C++ protobuf. library.
>>>>>>>>>>> I experience following difficulty.
>>>>>>>>>>> I have an pObj, i serialize it using SerializeToString, then as
>>>>>>>>>>> a test i try to deserialize the string using ParseFromString. I 
>>>>>>>>>>> expect that
>>>>>>>>>>> after deserialization the object will contain the same data as 
>>>>>>>>>>> original
>>>>>>>>>>> pObj. It doesn't happen. The new object contains nulls. The 
>>>>>>>>>>> ParseFromString
>>>>>>>>>>> return true. Here is the pseudo-code:
>>>>>>>>>>>
>>>>>>>>>>> string body;
>>>>>>>>>>> int n1 = pObj->_objectSetType.ByteSizeLong();
>>>>>>>>>>> result = pObj->_objectSetType.SerializeToString(&body);
>>>>>>>>>>> PriceTicObjectSet* pnewObj = new PriceTicObjectSet;
>>>>>>>>>>> result = pnewObj->_objectSetType.ParseFromString(body);
>>>>>>>>>>>
>>>>>>>>>>> string dump1 = toString(pObj);
>>>>>>>>>>> printf("Dump1:\n%s\n", dump1.c_str());
>>>>>>>>>>> string dump2 = toString(pnewObj);
>>>>>>>>>>> printf("Dump2:\n%s\n", dump2.c_str());
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Again, I expect that after deserialization objects pObj and
>>>>>>>>>>> pnewObj contain same data.
>>>>>>>>>>> This issue puzzles me and it is really important to solve it.
>>>>>>>>>>>
>>>>>>>>>>> Please can somebody help me - probably I am doing something
>>>>>>>>>>> wrong.
>>>>>>>>>>>
>>>>>>>>>>> Thank you
>>>>>>>>>>>
>>>>>>>>>>> Boris Pitel
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> You received this message because you are subscribed to the
>>>>>>>>>>> Google Groups "Protocol Buffers" group.
>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from
>>>>>>>>>>> it, send an email to [email protected].
>>>>>>>>>>> To post to this group, send email to [email protected].
>>>>>>>>>>> Visit this group at https://groups.google.com/group/protobuf.
>>>>>>>>>>> To view this discussion on the web visit
>>>>>>>>>>> https://groups.google.com/d/msgid/protobuf/dfae067f-71ec-4550-b18e-aa8aabab0af2%40googlegroups.com
>>>>>>>>>>> <https://groups.google.com/d/msgid/protobuf/dfae067f-71ec-4550-b18e-aa8aabab0af2%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>>>>>> .
>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>> On Wednesday, May 29, 2019 at 10:40:02 AM UTC-4, Adam Cozzette
>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>> What does your toString() function do?
>>>>>>>>>>
>>>>>>>>>> On Wed, May 29, 2019 at 7:32 AM Boris Pitel <[email protected]>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hello team,
>>>>>>>>>>> I am new to C++ protobuf. library.
>>>>>>>>>>> I experience following difficulty.
>>>>>>>>>>> I have an pObj, i serialize it using SerializeToString, then as
>>>>>>>>>>> a test i try to deserialize the string using ParseFromString. I 
>>>>>>>>>>> expect that
>>>>>>>>>>> after deserialization the object will contain the same data as 
>>>>>>>>>>> original
>>>>>>>>>>> pObj. It doesn't happen. The new object contains nulls. The 
>>>>>>>>>>> ParseFromString
>>>>>>>>>>> return true. Here is the pseudo-code:
>>>>>>>>>>>
>>>>>>>>>>> string body;
>>>>>>>>>>> int n1 = pObj->_objectSetType.ByteSizeLong();
>>>>>>>>>>> result = pObj->_objectSetType.SerializeToString(&body);
>>>>>>>>>>> PriceTicObjectSet* pnewObj = new PriceTicObjectSet;
>>>>>>>>>>> result = pnewObj->_objectSetType.ParseFromString(body);
>>>>>>>>>>>
>>>>>>>>>>> string dump1 = toString(pObj);
>>>>>>>>>>> printf("Dump1:\n%s\n", dump1.c_str());
>>>>>>>>>>> string dump2 = toString(pnewObj);
>>>>>>>>>>> printf("Dump2:\n%s\n", dump2.c_str());
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Again, I expect that after deserialization objects pObj and
>>>>>>>>>>> pnewObj contain same data.
>>>>>>>>>>> This issue puzzles me and it is really important to solve it.
>>>>>>>>>>>
>>>>>>>>>>> Please can somebody help me - probably I am doing something
>>>>>>>>>>> wrong.
>>>>>>>>>>>
>>>>>>>>>>> Thank you
>>>>>>>>>>>
>>>>>>>>>>> Boris Pitel
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> You received this message because you are subscribed to the
>>>>>>>>>>> Google Groups "Protocol Buffers" group.
>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from
>>>>>>>>>>> it, send an email to [email protected].
>>>>>>>>>>> To post to this group, send email to [email protected].
>>>>>>>>>>> Visit this group at https://groups.google.com/group/protobuf.
>>>>>>>>>>> To view this discussion on the web visit
>>>>>>>>>>> https://groups.google.com/d/msgid/protobuf/dfae067f-71ec-4550-b18e-aa8aabab0af2%40googlegroups.com
>>>>>>>>>>> <https://groups.google.com/d/msgid/protobuf/dfae067f-71ec-4550-b18e-aa8aabab0af2%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>>>>>> .
>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>>> Groups "Protocol Buffers" group.
>>>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>>>> send an email to [email protected].
>>>>>>>>> To post to this group, send email to [email protected].
>>>>>>>>> Visit this group at https://groups.google.com/group/protobuf.
>>>>>>>>> To view this discussion on the web visit
>>>>>>>>> https://groups.google.com/d/msgid/protobuf/d3e71b81-66db-48d9-8cc3-640aee92919a%40googlegroups.com
>>>>>>>>> <https://groups.google.com/d/msgid/protobuf/d3e71b81-66db-48d9-8cc3-640aee92919a%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>>>> .
>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>
>>>>>>>> --
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "Protocol Buffers" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>> send an email to [email protected].
>>>>>>> To post to this group, send email to [email protected].
>>>>>>> Visit this group at https://groups.google.com/group/protobuf.
>>>>>>> To view this discussion on the web visit
>>>>>>> https://groups.google.com/d/msgid/protobuf/bb594c06-2d62-46b6-9f53-b65f26af4dd8%40googlegroups.com
>>>>>>> <https://groups.google.com/d/msgid/protobuf/bb594c06-2d62-46b6-9f53-b65f26af4dd8%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>> .
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Protocol Buffers" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>> To post to this group, send email to [email protected].
>>>>> Visit this group at https://groups.google.com/group/protobuf.
>>>>> To view this discussion on the web visit
>>>>> https://groups.google.com/d/msgid/protobuf/41c133de-c9f7-478c-a910-446248251197%40googlegroups.com
>>>>> <https://groups.google.com/d/msgid/protobuf/41c133de-c9f7-478c-a910-446248251197%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Protocol Buffers" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To post to this group, send email to [email protected].
>>> Visit this group at https://groups.google.com/group/protobuf.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/protobuf/32df94fb-c76d-4916-bbe2-9ef70bb06ae8%40googlegroups.com
>>> <https://groups.google.com/d/msgid/protobuf/32df94fb-c76d-4916-bbe2-9ef70bb06ae8%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>> --
> You received this message because you are subscribed to the Google Groups
> "Protocol Buffers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/protobuf.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/protobuf/0375fb61-963a-4127-bb8a-c44ba6237ffa%40googlegroups.com
> <https://groups.google.com/d/msgid/protobuf/0375fb61-963a-4127-bb8a-c44ba6237ffa%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/protobuf.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/protobuf/CADqAXr70evhinDAWs9yN58z5-fBznKo1ERwV93%3DgpjQnJQJGtA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to