Author: wyoung
Date: Wed Aug 15 08:02:36 2007
New Revision: 1751
URL: http://svn.gna.org/viewcvs/mysqlpp?rev=1751&view=rev
Log:
Broke coupling between the lifetime of a ResUse/Result object and the
Row objects it creates. It's now possible to reuse the result object
while Row objects it created are still in use. The only substantial
reason for this were things having to do with looking up fields by
name: we didn't want to copy the field name list into each Row object,
so we had to keep the result object around to reference its copy.
Did we break down and make the wasteful copies? No, we created
RefCountedPointer<T>, which lets us add reference counting to any object
(like FieldNames) and pass around copies of that object without
duplicating the underlying object unnecessarily.
This template will be used more in the near future. This is the
beginning of the end for all the return-by-value of large objects
in MySQL++.
Added:
trunk/lib/refcounted.h
Modified:
trunk/Wishlist
trunk/examples/fieldinf.cpp
trunk/examples/multiquery.cpp
trunk/lib/field_names.h
trunk/lib/result.cpp
trunk/lib/result.h
trunk/lib/row.cpp
trunk/lib/row.h
trunk/lib/vallist.cpp
[This mail would be too long, it was shortened to contain the URLs only.]
Modified: trunk/Wishlist
URL:
http://svn.gna.org/viewcvs/mysqlpp/trunk/Wishlist?rev=1751&r1=1750&r2=1751&view=diff
Modified: trunk/examples/fieldinf.cpp
URL:
http://svn.gna.org/viewcvs/mysqlpp/trunk/examples/fieldinf.cpp?rev=1751&r1=1750&r2=1751&view=diff
Modified: trunk/examples/multiquery.cpp
URL:
http://svn.gna.org/viewcvs/mysqlpp/trunk/examples/multiquery.cpp?rev=1751&r1=1750&r2=1751&view=diff
Modified: trunk/lib/field_names.h
URL:
http://svn.gna.org/viewcvs/mysqlpp/trunk/lib/field_names.h?rev=1751&r1=1750&r2=1751&view=diff
Added: trunk/lib/refcounted.h
URL:
http://svn.gna.org/viewcvs/mysqlpp/trunk/lib/refcounted.h?rev=1751&view=auto
Modified: trunk/lib/result.cpp
URL:
http://svn.gna.org/viewcvs/mysqlpp/trunk/lib/result.cpp?rev=1751&r1=1750&r2=1751&view=diff
Modified: trunk/lib/result.h
URL:
http://svn.gna.org/viewcvs/mysqlpp/trunk/lib/result.h?rev=1751&r1=1750&r2=1751&view=diff
Modified: trunk/lib/row.cpp
URL:
http://svn.gna.org/viewcvs/mysqlpp/trunk/lib/row.cpp?rev=1751&r1=1750&r2=1751&view=diff
Modified: trunk/lib/row.h
URL:
http://svn.gna.org/viewcvs/mysqlpp/trunk/lib/row.h?rev=1751&r1=1750&r2=1751&view=diff
Modified: trunk/lib/vallist.cpp
URL:
http://svn.gna.org/viewcvs/mysqlpp/trunk/lib/vallist.cpp?rev=1751&r1=1750&r2=1751&view=diff
_______________________________________________
Mysqlpp-commits mailing list
[email protected]
https://mail.gna.org/listinfo/mysqlpp-commits