Date: Friday, December 30, 2005 @ 18:53:52
Author: zsolt
Path: /cvsroot/carob/libmysequoia/src
Modified: CarobMySQL.cpp (1.25 -> 1.26)
Modified to handle correctly destruction of pointers after the modification
done in Carob
----------------+
CarobMySQL.cpp | 17 +++++++++++------
1 files changed, 11 insertions(+), 6 deletions(-)
Index: libmysequoia/src/CarobMySQL.cpp
diff -u libmysequoia/src/CarobMySQL.cpp:1.25
libmysequoia/src/CarobMySQL.cpp:1.26
--- libmysequoia/src/CarobMySQL.cpp:1.25 Wed Dec 28 18:15:38 2005
+++ libmysequoia/src/CarobMySQL.cpp Fri Dec 30 18:53:52 2005
@@ -133,9 +133,6 @@
set_connect_info(host, user, passwd, db, port);
connectionPtr = newConnectionPtr;
- stmtPtr = connectionPtr->createStatement();
-// Commented out because of bug in Carob when setting fetchsize 1
-// stmtPtr->setFetchSize(1);
}
LOG4CXX_DEBUG(logger, "Leaving connect.");
@@ -193,10 +190,16 @@
LOG4CXX_DEBUG(logger, "Leaving real_query.");
return false;
}
-
+
try {
drsPtr = NULL;
+ if (!stmtPtr)
+ {
+ stmtPtr = connectionPtr->createStatement();
+ stmtPtr->setFetchSize(1);
+ }
+
if (stmtPtr->execute(fromString(std::string(query,length))))
{
mysqlPtr->affected_rows = 0;
@@ -625,10 +628,12 @@
{
LOG4CXX_DEBUG(logger, "Entering delete_connection.");
if (liveResultPtr)
+ {
free_results(liveResultPtr);
- FREE_AND_NULL(connectionPtr);
+ FREE_AND_NULL(liveResultPtr);
+ }
FREE_AND_NULL(stmtPtr);
- FREE_AND_NULL(liveResultPtr);
+ FREE_AND_NULL(connectionPtr);
LOG4CXX_DEBUG(logger, "Leaving delete_connection.");
}
_______________________________________________
Carob-commits mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/carob-commits