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

Reply via email to