Date: Friday, February 3, 2006 @ 14:30:16
  Author: zsolt
    Path: /cvsroot/carob/libmysequoia/src

Modified: CarobMySQL.cpp (1.46 -> 1.47) MySQLAPI.cpp (1.42 -> 1.43)

- modified mysql.eof to behave correctly
- corrected next_result to retrieve the resultset if more exists
- optimized mysql_real_escape_string


----------------+
 CarobMySQL.cpp |    4 +++-
 MySQLAPI.cpp   |   19 +++++++++----------
 2 files changed, 12 insertions(+), 11 deletions(-)


Index: libmysequoia/src/CarobMySQL.cpp
diff -u libmysequoia/src/CarobMySQL.cpp:1.46 
libmysequoia/src/CarobMySQL.cpp:1.47
--- libmysequoia/src/CarobMySQL.cpp:1.46        Wed Feb  1 13:45:52 2006
+++ libmysequoia/src/CarobMySQL.cpp     Fri Feb  3 14:30:16 2006
@@ -355,7 +355,8 @@
           mysqlPtr->status = MYSQL_STATUS_READY;
     
           //Release the Carob dataset      
-          stmtPtr->close();
+          //stmtPtr->close();
+          drsPtr->close();
           drsPtr = 0;
         }
         else
@@ -455,6 +456,7 @@
         result = 0;
         mysqlPtr->affected_rows = stmtPtr->getUpdateCount();
         mysqlPtr->status = MYSQL_STATUS_GET_RESULT;
+        drsPtr = stmtPtr->getResultSet();
       }
 
       reset_error();
Index: libmysequoia/src/MySQLAPI.cpp
diff -u libmysequoia/src/MySQLAPI.cpp:1.42 libmysequoia/src/MySQLAPI.cpp:1.43
--- libmysequoia/src/MySQLAPI.cpp:1.42  Wed Feb  1 10:25:56 2006
+++ libmysequoia/src/MySQLAPI.cpp       Fri Feb  3 14:30:16 2006
@@ -458,9 +458,7 @@
     {
       MYSQL_ROW curRow = 0;
 
-      if (!res->data_cursor)
-        res->eof = 1;
-      else
+      if (res->data_cursor)
       {
         curRow = res->data_cursor->data;
         res->data_cursor = res->data_cursor->next;
@@ -473,6 +471,8 @@
   }
   else
     result = 0;
+    
+  res->eof = !result;
 
   LOG4CXX_DEBUG(logger, "Leaving mysql_fetch_row: result=" << result);
   return result;
@@ -838,15 +838,14 @@
   while (length-- > 0)
   {
     esc = 0;
-    
     switch (*from)
     {
-      case '\0': esc = '0'; break;
-      case '\n': esc = 'n'; break;
-      case '\r': esc = 'r'; break;
-      case '\\': esc = '\\'; break;
-      case '\'': esc = '\''; break;
-      case '"':  esc = '"'; break;
+      case '\0': 
+      case '\n': 
+      case '\r': 
+      case '\\': 
+      case '\'': 
+      case '"':  esc = *from; break;
       case '\032': esc = 'Z'; break;
     }
     if (esc)

_______________________________________________
Carob-commits mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/carob-commits

Reply via email to