[odb-users] Re: Problem loading long TEXT strings with MySQL

Andreas Gerasch gerasch at informatik.uni-tuebingen.de
Fri Feb 10 03:19:37 EST 2012

Hi Boris,

> In the future please keep your replies CC'ed to the odb-users mailing
> list, again, as discussed in the posting guidelines:

sorry, for that - I just missed the reply all button.

 > I just tried to change the line 31 in hello/driver.cxx:
 > person jane ("Jane", "Doe", 32);
 > To read:
 > person jane ("Jan" + string (512, 'n') + 'e', "Doe", 32);
 > I then ran the test (make check) and I see the correct, full string
 > being printed. Can you try this and see if it works for you?

After using the odb-examples.tar.gz, I was able to reproduce the problem 
using your hello example by introducing a vector of middle names.

In person.hxx, I added a private field

	std::vector<std::string> middle_;

and two public methods

   add_middle(std::string m)

     return middle_;

In driver.cxx I added the lines

   john.add_middle(string(512, 'n'));

and changed the output to

   cout << "Hello, " << i->first () << " " << i->get_middle()[0] << " " 
<< i->last () << "!" << endl;

After persisting the objects, I changed the code and loaded the data 
only by querying all persons. Then I got this result:

Hello, John 
name="latin1_german1_ci"	id="5"	order="German Duden"/>
   <collation name="latin1_swedish_ci"	id="8"	order="Finnish, Swedish">
   <collation name="latin1_danish_ci"	id=" Doe!
Hello, Jane Janette Doe!
Hello, Joe Dalton Dirt!

Note, the problem occurs only, if we have long strings in a vector 
(other containers not tested).

-------------- next part --------------
A non-text attachment was scrubbed...
Name: driver.cxx
Type: text/x-c++src
Size: 1641 bytes
Desc: not available
Url : http://codesynthesis.com/pipermail/odb-users/attachments/20120210/6e4bff6b/driver.cxx
-------------- next part --------------
A non-text attachment was scrubbed...
Name: person.hxx
Type: text/x-c++hdr
Size: 1363 bytes
Desc: not available
Url : http://codesynthesis.com/pipermail/odb-users/attachments/20120210/6e4bff6b/person.hxx
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gerasch.vcf
Type: text/x-vcard
Size: 435 bytes
Desc: not available
Url : http://codesynthesis.com/pipermail/odb-users/attachments/20120210/6e4bff6b/gerasch.vcf

More information about the odb-users mailing list