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