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-08-15       - By Warren Young

 Back
Smart pointers are tricky, and automatic memory management is even
trickier, and I just created a template that does both.  I swapped it in
for existing code in MySQL++ that used value semantics and it passes the
test suite, but I'd still appreciate someone else taking a look at it.

http://svn.gna.org/viewcvs/mysqlpp/trunk/lib/refcounted.h?view=markup

This is part of a general effort toward improving the way MySQL++
handles memory and object copies.

The particular need that sparked the creation of this template is that
in released MySQL++ versions, you cannot use a Row object after the
Result/ResUse object that created it is destroyed or reused itself.
This doesn't seem to catch too many newbies, but we do see it from time
to time.

I built a similar, but more primitive, mechanism last week for ColData,
which should improve performance of field access greatly: v2.3 copied
each field two or three times on every access, because it had to do
everything with value semantics to avoid similar problems to the one
described above.  I hope to move ColData's buffer management to this new
template, but I'm not yet certain how it's going to work yet.

And yes, I am aware that this wheel has already been invented.  It's in
Boost, for instance, but the last time I brought up the possibility of
making Boost a dependency of MySQL++, it was shot down so violently that
the detritus from the explosion settled in a thin even layer of powdery
ash over six counties.

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