Date: Thursday, December 15, 2005 @ 11:33:47
  Author: csaba
    Path: /cvsroot/carob/libmysequoia

   Added: logger.cfg (1.1)
Modified: include/CarobMySQL.hpp (1.11 -> 1.12) src/Makefile (1.5 -> 1.6)
          src/MySQLAPI.cpp (1.14 -> 1.15)

Added log4cxx libraries to the makefile and a lot of logging message in each 
function.


------------------------+
 include/CarobMySQL.hpp |    2 
 logger.cfg             |   11 
 src/Makefile           |    2 
 src/MySQLAPI.cpp       |  542 ++++++++++++++++++++++++++++++++++++++++-------
 4 files changed, 476 insertions(+), 81 deletions(-)


Index: libmysequoia/include/CarobMySQL.hpp
diff -u libmysequoia/include/CarobMySQL.hpp:1.11 
libmysequoia/include/CarobMySQL.hpp:1.12
--- libmysequoia/include/CarobMySQL.hpp:1.11    Wed Dec 14 15:18:23 2005
+++ libmysequoia/include/CarobMySQL.hpp Thu Dec 15 11:33:47 2005
@@ -37,6 +37,8 @@
 #define CAROB_MYSQL_CLIENT_VERSION 50015;
 #define PROTOCOL_VERSION 10
 
+#define LOGGER_CONFIG_FILE "logger.cfg"
+
 class CarobMYSQL
 {
 public:
Index: libmysequoia/logger.cfg
diff -u /dev/null libmysequoia/logger.cfg:1.1
--- /dev/null   Thu Dec 15 11:33:47 2005
+++ libmysequoia/logger.cfg     Thu Dec 15 11:33:47 2005
@@ -0,0 +1,11 @@
+log4j.rootLogger=debug, file
+
+log4j.appender.file=org.apache.log4j.RollingFileAppender
+log4j.appender.file.File=/tmp/example.log
+log4j.appender.file.MaxFileSize=100KB
+log4j.appender.file.MaxBackupIndex=3
+log4j.appender.file.layout=org.apache.log4j.PatternLayout
+log4j.appender.file.layout.ConversionPattern=%d %p %t %c (%F:%L) - %m%n
+
+# Print only messages of level DEBUG or above in the namespace MySQLAPI.
+log4j.logger.MySQLAPI=DEBUG
Index: libmysequoia/src/Makefile
diff -u libmysequoia/src/Makefile:1.5 libmysequoia/src/Makefile:1.6
--- libmysequoia/src/Makefile:1.5       Tue Dec 13 10:42:44 2005
+++ libmysequoia/src/Makefile   Thu Dec 15 11:33:47 2005
@@ -37,7 +37,7 @@
 
 # LibMySequoia C++ lib
 CXXFLAGS = -fprofile-arcs -ftest-coverage -g3 -O0 -Wall ${INCDIR}
-LDFLAGS = -fprofile-arcs -ftest-coverage -fPIC --shared -Wl,-rpath,../carob 
-L../../carob -lcarob
+LDFLAGS = -fprofile-arcs -ftest-coverage -fPIC --shared -Wl,-rpath,../carob 
-L../../carob -lcarob -llog4cxx
 LIB_MYSEQUOIA = mysequoia
 LIB_MYSEQUOIA_LIB_SHORT = lib${LIB_MYSEQUOIA}.so
 LIB_MYSEQUOIA_LIB = ${LIB_MYSEQUOIA_LIB_SHORT}.${LIB_MAJOR_VERSION}
Index: libmysequoia/src/MySQLAPI.cpp
diff -u libmysequoia/src/MySQLAPI.cpp:1.14 libmysequoia/src/MySQLAPI.cpp:1.15
--- libmysequoia/src/MySQLAPI.cpp:1.14  Wed Dec 14 15:18:23 2005
+++ libmysequoia/src/MySQLAPI.cpp       Thu Dec 15 11:33:47 2005
@@ -29,6 +29,19 @@
 /* MySQL include */
 #include <errmsg.h>
 
+// include log4cxx header files.
+#include <log4cxx/logger.h>
+#include <log4cxx/basicconfigurator.h>
+#include <log4cxx/propertyconfigurator.h>
+#include <log4cxx/helpers/exception.h>
+
+using namespace log4cxx;
+using namespace log4cxx::helpers;
+
+LoggerPtr logger(Logger::getLogger("MySQLAPI"));
+
+static bool library_initialized = false;
+
 /**
  * Return true if p is containing our Carob object
  */
@@ -60,7 +73,13 @@
 mysql_init (MYSQL * mysql)
 {
   my_bool free_in_close = false;
-  
+
+  // TODO make it thread safe
+  if (!library_initialized)
+    mysql_server_init(0, 0, 0);
+
+  LOG4CXX_DEBUG(logger, "Entering mysql_init.");
+
   try
   {
     if (!mysql)
@@ -74,30 +93,45 @@
       delete static_cast<CarobMYSQL *>(mysql->thd);
       
     mysql->thd = new CarobMYSQL(mysql, free_in_close);
-    return mysql;
   }
   catch (...)
   {
     if (free_in_close)
       delete mysql;
-    return 0;  
+    mysql = 0;
   }
+
+  LOG4CXX_DEBUG(logger, "Leaving mysql_init.");
+  return mysql;
 }
 
 /* Closes a server connection. */
 void STDCALL
 mysql_close (MYSQL * mysql)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_close.");
+
   if (mysql)
     delete getCarob(mysql);
   if (mysql->free_me)
     FREE_AND_NULL(mysql);
+
+  LOG4CXX_DEBUG(logger, "Leaving mysql_close.");
 }
 
 /* Initialize the MYSQL client library. */
 int STDCALL
 mysql_server_init (int argc, char **argv, char **groups)
 {
+  PropertyConfigurator::configure(LOGGER_CONFIG_FILE);
+
+  LOG4CXX_DEBUG(logger, "Entering mysql_server_init.");
+
+  // TODO make it thread safe
+  library_initialized = true;
+
+  LOG4CXX_DEBUG(logger, "Leaving mysql_server_init.");
+  
   return 0;
 }
 
@@ -105,6 +139,8 @@
 void STDCALL
 mysql_server_end (void)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_server_end.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_server_end.");
 }
 
 /* Connect functions */
@@ -114,12 +150,20 @@
 mysql_connect (MYSQL * mysql, const char *host, const char *user,
          const char *passwd)
 {
+  MYSQL *result;
+
+  LOG4CXX_DEBUG(logger, "Entering mysql_connect.");
+  
   if (mysql)
   {
-    return getCarob(mysql)->connect(host, user, passwd, 0, 0, 0, 0) ? mysql : 
0;
+    result = getCarob(mysql)->connect(host, user, passwd, 0, 0, 0, 0) ? mysql 
: 0;
   }
   else
-    return 0;
+    result = 0;
+
+  LOG4CXX_DEBUG(logger, "Leaving mysql_connect.");
+    
+  return result;
 }
 
 /**
@@ -135,24 +179,44 @@
         const char *passwd, const char *db, unsigned int port,
         const char *unix_socket, unsigned long clientflag)
 {
+  MYSQL *result;
+  
+  // TODO make it thread safe
+  if (!library_initialized)
+    mysql_server_init(0, 0, 0);
+
+  LOG4CXX_DEBUG(logger, "Entering mysql_real_connect.");
+
   if (mysql)
   {
-    return getCarob(mysql)->connect(host, user, passwd, db, port, unix_socket, 
clientflag) ? mysql : 0;
+    result = getCarob(mysql)->connect(host, user, passwd, db, port, 
unix_socket, clientflag) ? mysql : 0;
   }
   else
-    return 0;
+    result = 0;
+
+  LOG4CXX_DEBUG(logger, "Leaving mysql_real_connect.");
+
+  return result;
 }
 
 /* Selects a database. */
 int STDCALL
 mysql_select_db (MYSQL * mysql, const char *db)
 {
+  int result;
+  
+  LOG4CXX_DEBUG(logger, "Entering mysql_select_db.");
+
   if (mysql)
   {
-    return getCarob(mysql)->select_db(db) ? 0 : 1;
+    result = getCarob(mysql)->select_db(db) ? 0 : 1;
   }
   else
-    return 0;
+    result = 1;
+
+  LOG4CXX_DEBUG(logger, "Leaving mysql_select_db.");
+    
+  return result;
 }
 
 /* Changes user and database on an open connection. */
@@ -160,24 +224,38 @@
 mysql_change_user (MYSQL * mysql, const char *user, const char *passwd,
        const char *db)
 {
+  my_bool result;
+  
+  LOG4CXX_DEBUG(logger, "Entering mysql_change_user.");
+  
   if (mysql)
   {
-    return !getCarob(mysql)->change_user(user, passwd, db);
+    result = getCarob(mysql)->change_user(user, passwd, db);
   }
   else
-    return 1;
+    result = 0;
+  
+  LOG4CXX_DEBUG(logger, "Leaving mysql_change_user.");
+  
+  return !result;
 }
 
 /* Sets connect options for mysql_connect(). */
 int STDCALL
 mysql_options (MYSQL * mysql, enum mysql_option option, const char *arg)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_options.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_options.");
+  
   return 0;
 }
 
 int STDCALL
 mysql_ping (MYSQL * mysql)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_ping.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_ping.");
+  
   return 0;
 }
 
@@ -187,89 +265,130 @@
 int STDCALL
 mysql_query (MYSQL * mysql, const char *q)
 {
-  return mysql_real_query(mysql, q, strlen(q));
+  int result;
+  
+  LOG4CXX_DEBUG(logger, "Entering mysql_query.");
+  result = mysql_real_query(mysql, q, strlen(q));
+  LOG4CXX_DEBUG(logger, "Leaving mysql_query.");
+  
+  return result;  
 }
 
 /* Executes an SQL query specified as a null-terminated string. */
 int STDCALL
 mysql_real_query (MYSQL * mysql, const char *q, unsigned long length)
 {
+  int result;
+
+  LOG4CXX_DEBUG(logger, "Entering mysql_real_query.");
   if (mysql)
-    return getCarob(mysql)->real_query(q, length) ? 0 : 1;
+    result = getCarob(mysql)->real_query(q, length) ? 0 : 1;
   else    
-    return 1;
+    result = 1;
+  LOG4CXX_DEBUG(logger, "Leaving mysql_real_query.");
+    
+  return result;
 }
 
 /* Initiates a row-by-row result set retrieval. */
 MYSQL_RES *STDCALL
 mysql_use_result (MYSQL * mysql)
 {
+  MYSQL_RES *result;
+  
+  LOG4CXX_DEBUG(logger, "Entering mysql_use_result.");
   if (mysql)
-    return getCarob(mysql)->get_results(false);
+    result = getCarob(mysql)->get_results(false);
   else
-    return 0;
+    result = 0;
+  LOG4CXX_DEBUG(logger, "Leaving mysql_use_result.");
+
+  return result;    
 }
 
 /* Retrieves a complete result set to the client. */
 MYSQL_RES *STDCALL
 mysql_store_result (MYSQL * mysql)
 {
+  MYSQL_RES *result;
+  
+  LOG4CXX_DEBUG(logger, "Entering mysql_store_result.");
   if (mysql)
-    return getCarob(mysql)->get_results(true);
+    result = getCarob(mysql)->get_results(true);
   else
-    return 0;
+    result = 0;
+  LOG4CXX_DEBUG(logger, "Leaving mysql_store_result.");
+
+  return result;    
 }
 
 /* Frees memory used by a result set. */
 void STDCALL
-mysql_free_result (MYSQL_RES * result)
+mysql_free_result (MYSQL_RES * res)
 {
-  if (result && result->handle)
-    return getCarob(result->handle)->free_results(result);
+  LOG4CXX_DEBUG(logger, "Entering mysql_free_result.");
+  if (res && res->handle)
+    getCarob(res->handle)->free_results(res);
+  LOG4CXX_DEBUG(logger, "Leaving mysql_free_result.");
 }
 
 /* Fetches the next row from the result set. */
 MYSQL_ROW STDCALL
-mysql_fetch_row (MYSQL_RES * result)
+mysql_fetch_row (MYSQL_RES * res)
 {
-  if (result)
+  MYSQL_ROW result;
+  
+  LOG4CXX_DEBUG(logger, "Entering mysql_fetch_row.");
+  if (res)
   {
-    if (result->data)
+    if (res->data)
     {
       MYSQL_ROW curRow = 0;
 
-      if (!result->data_cursor)
-        result->eof = 1;
+      if (!res->data_cursor)
+        res->eof = 1;
       else
       {
-        curRow = result->data_cursor->data;
-        result->data_cursor = result->data_cursor->next;
+        curRow = res->data_cursor->data;
+        res->data_cursor = res->data_cursor->next;
       }
         
-      return (result->current_row = curRow);
+      result = (res->current_row = curRow);
     }
     else
-      return getCarob(result->handle)->fetch_row();
+      result = getCarob(res->handle)->fetch_row();
   }
   else
-    return 0;
+    result = 0;
+  LOG4CXX_DEBUG(logger, "Leaving mysql_fetch_row.");
+
+  return result;
 }
 
 my_bool STDCALL
 mysql_eof (MYSQL_RES * res)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_eof.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_eof.");
+  
   return 0;
 }
 
 my_bool STDCALL
 mysql_more_results (MYSQL * mysql)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_more_results.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_more_results.");
+  
   return 0;
 }
 
 int STDCALL
 mysql_next_result (MYSQL * mysql)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_next_result.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_next_result.");
+  
   return 0;
 }
 
@@ -277,6 +396,8 @@
 void STDCALL
 mysql_data_seek (MYSQL_RES * result, my_ulonglong offset)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_data_seek.");
+  
   if (result && result->data)
   {
     MYSQL_ROWS *curRow;
@@ -284,72 +405,105 @@
     result->current_row = 0;
     result->data_cursor = curRow;
   }
+
+  LOG4CXX_DEBUG(logger, "Leaving mysql_data_seek.");
 }
 
 /* Seeks to a row offset in a result set, using value returned from 
mysql_row_tell(). */
 MYSQL_ROW_OFFSET STDCALL
-mysql_row_seek (MYSQL_RES * result, MYSQL_ROW_OFFSET offset)
+mysql_row_seek (MYSQL_RES * res, MYSQL_ROW_OFFSET offset)
 {
-  if (result && result->data)
+  MYSQL_ROW_OFFSET result;
+  
+  LOG4CXX_DEBUG(logger, "Entering mysql_row_seek.");
+  if (res && res->data)
   {
-    MYSQL_ROW_OFFSET oldRow = result->data_cursor;
-    result->current_row = 0;
-    result->data_cursor = offset;
-    return oldRow;
+    result = res->data_cursor;
+    res->current_row = 0;
+    res->data_cursor = offset;
   }    
   else
-    return 0;
+    result = 0;
+  LOG4CXX_DEBUG(logger, "Leaving mysql_row_seek.");
+
+  return result;
 }
 
 /* Seeks to a row offset in a result set, using value returned from 
mysql_row_tell(). */
 MYSQL_ROW_OFFSET STDCALL
 mysql_row_tell (MYSQL_RES * res)
 {
-  return res ? res->data_cursor : 0;
+  MYSQL_ROW_OFFSET result;
+  LOG4CXX_DEBUG(logger, "Entering mysql_row_tell.");
+  result = res ? res->data_cursor : 0;
+  LOG4CXX_DEBUG(logger, "Leaving mysql_row_tell.");
+
+  return result;  
 }
 
 /* Returns the type of the next table field. */
 MYSQL_FIELD *STDCALL
-mysql_fetch_field (MYSQL_RES * result)
+mysql_fetch_field (MYSQL_RES * res)
 {
-  if (result && (result->current_field < result->field_count))
-    return &result->fields[result->current_field++];
+  MYSQL_FIELD *result;
+  
+  LOG4CXX_DEBUG(logger, "Entering mysql_fetch_field.");
+  if (res && (res->current_field < res->field_count))
+    result = &res->fields[res->current_field++];
   else
-    return 0;
+    result = 0;
+  LOG4CXX_DEBUG(logger, "Leaving mysql_fetch_field.");
+    
+  return result;
 }
 
 /* Returns the type of a table field, given a field number. */
 MYSQL_FIELD *STDCALL
 mysql_fetch_field_direct (MYSQL_RES * res, unsigned int fieldnr)
 {
+  MYSQL_FIELD *result;
+  
+  LOG4CXX_DEBUG(logger, "Entering mysql_fetch_field_direct.");
   if (res && (fieldnr < res->field_count))
-    return &res->fields[fieldnr];
+    result = &res->fields[fieldnr];
   else
-    return 0;
+    result = 0;
+  LOG4CXX_DEBUG(logger, "Leaving mysql_fetch_field_direct.");
+  
+  return result;
 }
 
 /* Returns an array of all field structures. */
 MYSQL_FIELD *STDCALL
 mysql_fetch_fields (MYSQL_RES * res)
 {
-  return res ? res->fields : 0;
+  MYSQL_FIELD *result;
+  
+  LOG4CXX_DEBUG(logger, "Entering mysql_fetch_fields.");
+  result = res ? res->fields : 0;
+  LOG4CXX_DEBUG(logger, "Leaving mysql_fetch_fields.");
+
+  return result;  
 }
 
 /* Returns the lengths of all columns in the current row. */
 unsigned long *STDCALL
-mysql_fetch_lengths (MYSQL_RES * result)
+mysql_fetch_lengths (MYSQL_RES * res)
 {
-  if (result && result->current_row)
+  unsigned long *result;
+  
+  LOG4CXX_DEBUG(logger, "Entering mysql_fetch_lengths.");
+  if (res && res->current_row)
   {
     //Calculate the field length from pointer offsets
-    if (result->data)
+    if (res->data)
     {
       unsigned long *curLength, *lastLength = 0;
       MYSQL_ROW curField;
       char *lastField = 0;
       int colNo;
       
-      for (colNo = result->field_count+1, curField = result->current_row, 
curLength = result->lengths; 
+      for (colNo = res->field_count+1, curField = res->current_row, curLength 
= res->lengths; 
            colNo; curField++, colNo--, curLength++)
       {
         if (!*curField)
@@ -364,64 +518,105 @@
       }
     }
     
-    return result->lengths;
+    result = res->lengths;
   }
   else
-    return 0;
+    result = 0;
+  LOG4CXX_DEBUG(logger, "Leaving mysql_fetch_lengths.");
+
+  return result;
 }
 
 /* Returns the type of the next table field. */
 MYSQL_FIELD_OFFSET STDCALL
-mysql_field_seek (MYSQL_RES * result, MYSQL_FIELD_OFFSET offset)
+mysql_field_seek (MYSQL_RES * res, MYSQL_FIELD_OFFSET offset)
 {
-  if (result)
+  MYSQL_FIELD_OFFSET result;
+  
+  LOG4CXX_DEBUG(logger, "Entering mysql_field_seek.");
+  if (res)
   {
-    MYSQL_FIELD_OFFSET old = result->current_field;
-    result->current_field = offset < result->field_count ? offset : 
result->field_count;
-    return old;
+    result = res->current_field;
+    res->current_field = offset < res->field_count ? offset : res->field_count;
   }
   else
-    return 0;
+    result = 0;
+  LOG4CXX_DEBUG(logger, "Leaving mysql_field_seek.");
+
+  return result;
 }
 
 /* Returns the number of result columns for the most recent statement. */
 unsigned int STDCALL
 mysql_field_count (MYSQL * mysql)
 {
-  return mysql ? mysql->field_count : 0;
+  unsigned int result;
+  
+  LOG4CXX_DEBUG(logger, "Entering mysql_field_count.");
+  result = mysql ? mysql->field_count : 0;
+  LOG4CXX_DEBUG(logger, "Leaving mysql_field_count.");
+
+  return result;
 }
 
 /* Returns the position of the field cursor used for the last 
mysql_fetch_field(). */
 MYSQL_FIELD_OFFSET STDCALL
 mysql_field_tell (MYSQL_RES * res)
 {
-  return res ? res->current_field : 0;
+  MYSQL_FIELD_OFFSET result;
+  
+  LOG4CXX_DEBUG(logger, "Entering mysql_field_tell.");
+  result = res ? res->current_field : 0;
+  LOG4CXX_DEBUG(logger, "Leaving mysql_field_tell.");
+
+  return result;
 }
 
 /* Returns the number of columns in a result set. */
 unsigned int STDCALL
 mysql_num_fields (MYSQL_RES * res)
 {
-  return res ? res->field_count : 0;
+  unsigned int result;
+  
+  LOG4CXX_DEBUG(logger, "Entering mysql_num_fields.");
+  result = res ? res->field_count : 0;
+  LOG4CXX_DEBUG(logger, "Leaving mysql_num_fields.");
+
+  return result;
 }
 
 /* Returns the number of rows changed/deleted/inserted by the last UPDATE, 
DELETE, or INSERT query. */
 my_ulonglong
 mysql_affected_rows (MYSQL * mysql)
 {
-  return mysql ? mysql->affected_rows : 0;
+  my_ulonglong result;
+  
+  LOG4CXX_DEBUG(logger, "Entering mysql_affected_rows.");
+  result = mysql ? mysql->affected_rows : 0;
+  LOG4CXX_DEBUG(logger, "Leaving mysql_affected_rows.");
+
+  return result;
 }
 
 /* Returns the number of rows in a result set. */
 my_ulonglong STDCALL
 mysql_num_rows (MYSQL_RES * res)
 {
-  return res ? res->row_count : 0;
+  my_ulonglong result;
+  
+  LOG4CXX_DEBUG(logger, "Entering mysql_num_rows.");
+  result = res ? res->row_count : 0;
+  LOG4CXX_DEBUG(logger, "Leaving mysql_num_rows.");
+
+  return result;
 }
 
 my_ulonglong STDCALL
 mysql_insert_id (MYSQL * mysql)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_insert_id.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_insert_id.");
+  
   return 0;
 }
 
@@ -431,32 +626,55 @@
 unsigned int STDCALL
 mysql_errno (MYSQL * mysql)
 {
-  return mysql ? mysql->net.last_errno : CR_NULL_POINTER;
+  unsigned int result;
+  
+  LOG4CXX_DEBUG(logger, "Entering mysql_errno.");
+  result = mysql ? mysql->net.last_errno : CR_NULL_POINTER;
+  LOG4CXX_DEBUG(logger, "Leaving mysql_errno.");
+  
+  return result;
 }
 
 /* Returns the error message for the most recently invoked MySQL function. */
 const char *STDCALL
 mysql_error (MYSQL * mysql)
 {
-  return mysql ? mysql->net.last_error : 
error_messages[CR_NULL_POINTER-CR_MIN_ERROR];
+  const char *result;
+  
+  LOG4CXX_DEBUG(logger, "Entering mysql_error.");
+  result = mysql ? mysql->net.last_error : 
error_messages[CR_NULL_POINTER-CR_MIN_ERROR];
+  LOG4CXX_DEBUG(logger, "Leaving mysql_error.");
+
+  return result;
 }
 
 /* Returns the SQLSTATE error code for the last error. */
 const char *STDCALL
 mysql_sqlstate (MYSQL * mysql)
 {
-  return mysql ? mysql->net.sqlstate : error_sqlstate[SQLT_UNKNOWN];
+  const char *result;
+  
+  LOG4CXX_DEBUG(logger, "Entering mysql_sqlstate.");
+  result = mysql ? mysql->net.sqlstate : error_sqlstate[SQLT_UNKNOWN];
+  LOG4CXX_DEBUG(logger, "Leaving mysql_sqlstate.");
+
+  return result;
 }
 
 unsigned int STDCALL
 mysql_warning_count (MYSQL * mysql)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_warning_count.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_warning_count.");
+  
   return 0;
 }
 
 void STDCALL
 mysql_debug (const char *debug)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_debug.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_debug.");
 }
 
 /* Misc functions */
@@ -464,6 +682,9 @@
 unsigned long STDCALL
 mysql_escape_string (char *to, const char *from, unsigned long from_length)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_escape_string.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_escape_string.");
+  
   return 0;
 }
 
@@ -471,12 +692,18 @@
 mysql_real_escape_string (MYSQL * mysql, char *to, const char *from,
         unsigned long length)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_real_escape_string.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_real_escape_string.");
+  
   return 0;
 }
 
 const char *
 mysql_character_set_name (MYSQL * mysql)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_character_set_name.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_character_set_name.");
+  
   return 0;
 }
 
@@ -486,21 +713,39 @@
 my_bool STDCALL
 mysql_autocommit (MYSQL * mysql, my_bool auto_mode)
 {
-  return mysql ? getCarob(mysql)->set_autocommit(auto_mode) : 0;
+  my_bool result;
+  
+  LOG4CXX_DEBUG(logger, "Entering mysql_autocommit.");
+  result = mysql ? getCarob(mysql)->set_autocommit(auto_mode) : 0;
+  LOG4CXX_DEBUG(logger, "Leaving mysql_autocommit.");
+
+  return result;
 }
 
 /* Commits the transaction. */
 my_bool STDCALL
 mysql_commit (MYSQL * mysql)
 {
-  return mysql ? getCarob(mysql)->commit() : 0;
+  my_bool result;
+  
+  LOG4CXX_DEBUG(logger, "Entering mysql_commit.");
+  result = mysql ? getCarob(mysql)->commit() : 0;
+  LOG4CXX_DEBUG(logger, "Leaving mysql_commit.");
+  
+  return result;
 }
 
 /* Rolls back the transaction. */
 my_bool STDCALL
 mysql_rollback (MYSQL * mysql)
 {
-  return mysql ? getCarob(mysql)->rollback() : 0;
+  my_bool result;
+
+  LOG4CXX_DEBUG(logger, "Entering mysql_rollback.");
+  result = mysql ? getCarob(mysql)->rollback() : 0;
+  LOG4CXX_DEBUG(logger, "Leaving mysql_rollback.");
+
+  return result;  
 }
 
 /* Server management */
@@ -509,21 +754,36 @@
 int STDCALL
 mysql_create_db (MYSQL * mysql, const char *DB)
 {
+  int result;
   std::string query=std::string("CREATE DATABASE ")+DB;
-  return mysql_real_query(mysql, query.data(), query.length());
+  
+  LOG4CXX_DEBUG(logger, "Entering mysql_create_db.");
+  result = mysql_real_query(mysql, query.data(), query.length());
+  LOG4CXX_DEBUG(logger, "Leaving mysql_create_db.");
+
+  return result;  
 }
 
 /* Drops a database. This function is deprecated; use the SQL statement DROP 
DATABASE instead. */
 int STDCALL
 mysql_drop_db (MYSQL * mysql, const char *DB)
 {
+  int result;
   std::string query=std::string("DROP DATABASE ")+DB;
-  return mysql_real_query(mysql, query.data(), query.length());
+  
+  LOG4CXX_DEBUG(logger, "Entering mysql_drop_db.");
+  result = mysql_real_query(mysql, query.data(), query.length());
+  LOG4CXX_DEBUG(logger, "Leaving mysql_drop_db.");
+  
+  return result;
 }
 
 int STDCALL
 mysql_shutdown (MYSQL * mysql, enum mysql_enum_shutdown_level shutdown_level)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_shutdown.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_shutdown.");
+  
   return 0;
 }
 
@@ -533,6 +793,8 @@
 {
   int result = 0;
   
+  LOG4CXX_DEBUG(logger, "Entering mysql_refresh.");
+  
   if (refresh_options & REFRESH_GRANT)
     result = mysql_real_query(mysql, "FLUSH PRIVILEGES", 16);
   if (!result && refresh_options & REFRESH_LOG)
@@ -543,6 +805,8 @@
     result = mysql_real_query(mysql, "FLUSH HOSTS", 11);
   if (!result && refresh_options & REFRESH_STATUS)
     result = mysql_real_query(mysql, "FLUSH STATUS", 12);
+
+  LOG4CXX_DEBUG(logger, "Leaving mysql_refresh.");
     
   return result;
 }
@@ -553,6 +817,8 @@
 const char *STDCALL
 mysql_get_client_info (void)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_get_client_info.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_get_client_info.");
   return CAROB_MYSQL_CLIENT_INFO;
 }
 
@@ -560,6 +826,8 @@
 unsigned long STDCALL
 mysql_get_client_version (void)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_get_client_version.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_get_client_version.");
   return CAROB_MYSQL_CLIENT_VERSION;
 }
 
@@ -567,63 +835,107 @@
 const char *STDCALL
 mysql_get_host_info (MYSQL * mysql)
 {
-  return mysql ? mysql->host_info : 0;
+  const char *result;
+  
+  LOG4CXX_DEBUG(logger, "Entering mysql_get_host_info.");
+  result = mysql ? mysql->host_info : 0;
+  LOG4CXX_DEBUG(logger, "Leaving mysql_get_host_info.");
+  
+  return result;
 }
 
 /* Returns a string that represents the server version number. */
 const char *
 mysql_get_server_info (MYSQL * mysql)
 {
-  return mysql ? mysql->server_version : 0;
+  const char *result;
+  
+  LOG4CXX_DEBUG(logger, "Entering mysql_get_server_info.");
+  result = mysql ? mysql->server_version : 0;
+  LOG4CXX_DEBUG(logger, "Leaving mysql_get_server_info.");
+  
+  return result;
 }
 
 /* Returns version number of server as an integer. */
 unsigned long STDCALL
 mysql_get_server_version (MYSQL * mysql)
 {
+  unsigned long result;
+  
+  LOG4CXX_DEBUG(logger, "Entering mysql_get_server_version.");
   if (mysql)
   {
     unsigned long res = 0, multiply = 10000;
     char *p=mysql->server_version, *end;
     for (p=mysql->server_version; multiply > 0; multiply /= 100, p = end + 1)
       res += strtoul(p,&end,10) * multiply;
-    return res;
+    result = res;
   }
   else
-    return 0;
+    result = 0;
+    
+  LOG4CXX_DEBUG(logger, "Leaving mysql_get_server_version.");
+
+  return result;
 }
 
 /* Returns the protocol version used by the connection. */
 unsigned int STDCALL
 mysql_get_proto_info (MYSQL * mysql)
 {
-  return mysql ? mysql->protocol_version : 0;
+  unsigned int result;
+  
+  LOG4CXX_DEBUG(logger, "Entering mysql_get_proto_info.");
+  result = mysql ? mysql->protocol_version : 0;
+  LOG4CXX_DEBUG(logger, "Leaving mysql_get_proto_info.");
+  
+  return result;
 }
 
 /* Returns information about the most recently executed query. */
 const char *STDCALL
 mysql_info (MYSQL * mysql)
 {
-  return mysql ? mysql->info : 0;
+  const char *result;
+  
+  LOG4CXX_DEBUG(logger, "Entering mysql_info.");
+  result = mysql ? mysql->info : 0;
+  LOG4CXX_DEBUG(logger, "Leaving mysql_info.");
+
+  return result;
 }
 
 /* Returns database names matching a simple regular expression. */
 MYSQL_RES *STDCALL
 mysql_list_dbs (MYSQL * mysql, const char *wild)
 {
-  return mysql ? getCarob(mysql)->list_databases(wild) : 0;
+  MYSQL_RES *result;
+  
+  LOG4CXX_DEBUG(logger, "Entering mysql_list_dbs.");
+  result = mysql ? getCarob(mysql)->list_databases(wild) : 0;
+  LOG4CXX_DEBUG(logger, "Leaving mysql_list_dbs.");
+  
+  return result;
 }
 
 /* Returns field names matching a simple regular expression. */
 MYSQL_RES *STDCALL
 mysql_list_fields (MYSQL * mysql, const char *table, const char *wild)
 {
-  return mysql ? getCarob(mysql)->list_table_fields(table, wild) : 0;
+  MYSQL_RES *result;
+  LOG4CXX_DEBUG(logger, "Entering mysql_list_fields.");
+  result = mysql ? getCarob(mysql)->list_table_fields(table, wild) : 0;
+  LOG4CXX_DEBUG(logger, "Leaving mysql_list_fields.");
+
+  return result;
 }
 
 MYSQL_RES *STDCALL
 mysql_list_processes (MYSQL * mysql)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_list_processes.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_list_processes.");
   return 0;
 }
 
@@ -631,12 +943,20 @@
 MYSQL_RES *STDCALL
 mysql_list_tables (MYSQL * mysql, const char *wild)
 {
-  return mysql ? getCarob(mysql)->list_tables(wild) : 0;
+  MYSQL_RES *result;
+  
+  LOG4CXX_DEBUG(logger, "Entering mysql_list_tables.");
+  result = mysql ? getCarob(mysql)->list_tables(wild) : 0;
+  LOG4CXX_DEBUG(logger, "Leaving mysql_list_tables.");
+  
+  return result;
 }
 
 const char *STDCALL
 mysql_stat (MYSQL * mysql)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_stat.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_stat.");
   return 0;
 }
 
@@ -645,23 +965,31 @@
 my_bool
 mysql_thread_init (void)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_thread_init.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_thread_init.");
   return 0;
 }
 
 void
 mysql_thread_end (void)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_thread_end.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_thread_end.");
 }
 
 unsigned long STDCALL
 mysql_thread_id (MYSQL * mysql)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_thread_id.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_thread_id.");
   return 0;
 }
 
 unsigned int STDCALL
 mysql_thread_safe (void)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_thread_safe.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_thread_safe.");
   return 0;
 }
 
@@ -670,6 +998,8 @@
 my_ulonglong
 mysql_stmt_affected_rows (MYSQL_STMT * stmt)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_stmt_affected_rows.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_stmt_affected_rows.");
   return 0;
 }
 
@@ -677,6 +1007,8 @@
 mysql_stmt_attr_get (MYSQL_STMT * stmt, enum enum_stmt_attr_type option,
          void *arg)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_stmt_attr_get.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_stmt_attr_get.");
   return 0;
 }
 
@@ -684,53 +1016,71 @@
 mysql_stmt_attr_set (MYSQL_STMT * stmt, enum enum_stmt_attr_type option,
          const void *arg)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_stmt_attr_set.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_stmt_attr_set.");
   return 0;
 }
 
 my_bool
 mysql_stmt_bind_param (MYSQL_STMT * stmt, MYSQL_BIND * bind)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_stmt_bind_param.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_stmt_bind_param.");
   return 0;
 }
 
 my_bool
 mysql_stmt_bind_result (MYSQL_STMT * stmt, MYSQL_BIND * bind)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_stmt_bind_result.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_stmt_bind_result.");
   return 0;
 }
 
 my_bool
 mysql_stmt_close (MYSQL_STMT *)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_stmt_close.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_stmt_close.");
   return 0;
 }
 
 void
 mysql_stmt_data_seek (MYSQL_STMT * stmt, my_ulonglong offset)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_stmt_data_seek.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_stmt_data_seek.");
 }
 
 unsigned int
 mysql_stmt_errno (MYSQL_STMT * stmt)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_stmt_errno.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_stmt_errno.");
   return 0;
 }
 
 const char *
 mysql_stmt_error (MYSQL_STMT * stmt)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_stmt_error.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_stmt_error.");
   return 0;
 }
 
 int
 mysql_stmt_execute (MYSQL_STMT * stmt)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_stmt_execute.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_stmt_execute.");
   return 0;
 }
 
 int
 mysql_stmt_fetch (MYSQL_STMT * stmt)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_stmt_fetch.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_stmt_fetch.");
   return 0;
 }
 
@@ -738,48 +1088,64 @@
 mysql_stmt_fetch_column (MYSQL_STMT * stmt, MYSQL_BIND * bind,
        unsigned int column, unsigned long offset)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_stmt_fetch_column.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_stmt_fetch_column.");
   return 0;
 }
 
 unsigned int
 mysql_stmt_field_count (MYSQL_STMT * stmt)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_stmt_field_count.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_stmt_field_count.");
   return 0;
 }
 
 my_bool
 mysql_stmt_free_result (MYSQL_STMT * stmt)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_stmt_free_result.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_stmt_free_result.");
   return 0;
 }
 
 MYSQL_STMT *
 mysql_stmt_init (MYSQL * mysql)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_stmt_init.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_stmt_init.");
   return 0;
 }
 
 my_ulonglong
 mysql_stmt_insert_id (MYSQL_STMT * stmt)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_stmt_insert_id.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_stmt_insert_id.");
   return 0;
 }
 
 my_ulonglong
 mysql_stmt_num_rows (MYSQL_STMT * stmt)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_stmt_num_rows.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_stmt_num_rows.");
   return 0;
 }
 
 unsigned long
 mysql_stmt_param_count (MYSQL_STMT * stmt)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_stmt_param_count.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_stmt_param_count.");
   return 0;
 }
 
 MYSQL_RES *
 mysql_stmt_param_metadata (MYSQL_STMT * stmt)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_stmt_param_metadata.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_stmt_param_metadata.");
   return 0;
 }
 
@@ -787,30 +1153,40 @@
 mysql_stmt_prepare (MYSQL_STMT * stmt, const char *query,
         unsigned long length)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_stmt_prepare.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_stmt_prepare.");
   return 0;
 }
 
 my_bool
 mysql_stmt_reset (MYSQL_STMT * stmt)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_stmt_reset.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_stmt_reset.");
   return 0;
 }
 
 MYSQL_RES *
 mysql_stmt_result_metadata (MYSQL_STMT * stmt)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_stmt_result_metadata.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_stmt_result_metadata.");
   return 0;
 }
 
 MYSQL_ROW_OFFSET
 mysql_stmt_row_seek (MYSQL_STMT * stmt, MYSQL_ROW_OFFSET offset)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_stmt_row_seek.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_stmt_row_seek.");
   return 0;
 }
 
 MYSQL_ROW_OFFSET
 mysql_stmt_row_tell (MYSQL_STMT * stmt)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_stmt_row_tell.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_stmt_row_tell.");
   return 0;
 }
 
@@ -818,17 +1194,23 @@
 mysql_stmt_send_long_data (MYSQL_STMT * stmt, unsigned int parameter_number,
          const char *data, unsigned long length)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_stmt_send_long_data.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_stmt_send_long_data.");
   return 0;
 }
 
 const char *
 mysql_stmt_sqlstate (MYSQL_STMT * stmt)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_stmt_sqlstate.");
+  LOG4CXX_DEBUG(logger, "Leaving mysql_stmt_sqlstate.");
   return 0;
 }
 
 int
 mysql_stmt_store_result (MYSQL_STMT * stmt)
 {
+  LOG4CXX_DEBUG(logger, "Entering mysql_stmt_store_result.");
+  LOG4CXX_DEBUG(logger, "Leave mysql_stmt_store_result.");
   return 0;
 }

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

Reply via email to