Mailing List
Home
Forum Home
MySQL General - General MySQL discussion
MySQL++ - Programming with the C++ API to MySQL
MaxDB - Everything about MaxDB, formerly known as SAP DB
ODBC - ODBC with the MySQL Connector/ODBC driver
MySQL on Win32 - Runing MySQL on Windows 9x/Me/NT/2000/XP
Java Help - Mostly related to the MySQL Connector/J driver
Perl - Perl support for MySQL with DBI and DBD::mysql
GUI - MySQL GUI Tools
Announcement
Subjects
mysql openssl Question
ERROR 1045: Access denied for user: 'root@localhost ' (Using
password: NO)
Update one field with more fields from another table
Getting Identity after INSERT
ERROR 2002: Can 't connect to local MySQL server through socket
mysql test 4 1 fails with the gis test
MySQL Cluster Software
Downgrade Mysql from 4 to 3 23
Mysql 4 0 Oracle Stored Procedure Trigger Conversion
Can 't access mysql after kernel upgrade
Executing MySQL Commands From Within C Program
Comparing and writing out BLOBS
Preventing Duplicate Entries
FULLTEXT query format question
Strange behavior, Table Level Permission
Does the binary log enabling affect the MySQL performances?
mysql:it 's a db not a dbms how it 's possible?!
mysql have same function mthod as Oracle decode()
 
-none-

-none-

2007-09-04       - By Warren Young

 Back
Yassin wrote:
>> In MySQL++ v2.3, the Result object must outlive the Row objects that
>> come from it, but with storein(), the Result object only lasts as long
>> as the storein() call.
>
> Can you explain me why?

MySQL++ is open source, and its code is pretty easy to read these days.
Hint, hint.

If you had looked for references to Result in lib/row.cpp, you would
have found that there are several places where calling a method on a Row
delegates part of the function back to the Result object that created
it.  This was done for efficiency and simplicity: why make each Row
carry extra copies of data its parent Result holds when it can just keep
a pointer back to its parent and ask it when it needs the info?

The new Row code in v3.0 gets around this without a huge speed and space
penalty by using a much more complex memory management scheme.  (See
recent posts to the list about reference counted smart pointers.)  If I
were the original authors of MySQL++, I wouldn't have wanted to make the
memory management complex at such an early stage of development, either.
 It's only a sign of the increasing maturity of MySQL++ that we can do
such things.

--
MySQL++ Mailing List
For list archives: http://lists.mysql.com/plusplus
To unsubscribe:    http://lists.mysql.com/plusplus?unsub=mysql@(protected)