Date: Thursday, January 19, 2006 @ 09:47:37
Author: csaba
Path: /cvsroot/carob/libmysequoia/src
Modified: Utils.cpp (1.22 -> 1.23)
- added logger
- more time related case implemented
-----------+
Utils.cpp | 122 ++++++++++++++++++++++++++++++++++++------------------------
1 files changed, 75 insertions(+), 47 deletions(-)
Index: libmysequoia/src/Utils.cpp
diff -u libmysequoia/src/Utils.cpp:1.22 libmysequoia/src/Utils.cpp:1.23
--- libmysequoia/src/Utils.cpp:1.22 Wed Jan 18 13:06:10 2006
+++ libmysequoia/src/Utils.cpp Thu Jan 19 09:47:37 2006
@@ -38,6 +38,9 @@
using namespace CarobNS;
using namespace std;
+using namespace log4cxx;
+
+static LoggerPtr logger(Logger::getLogger("MySQLAPI.Carob"));
const char *error_sqlstate[]=
{
@@ -264,12 +267,9 @@
memset(mt, 0, sizeof(MYSQL_TIME));
mt->time_type = type;
- mt->second_part = (time % 1000) * 1000;
- time = time / 1000;
- mt->second = time % 60;
- time = time / 60;
- mt->minute = time % 60;
- time = time / 60;
+ mt->second_part = (time % 1000) * 1000; time = time / 1000;
+ mt->second = time % 60; time = time / 60;
+ mt->minute = time % 60; time = time / 60;
mt->hour = time;
if (type != MYSQL_TIMESTAMP_TIME)
@@ -325,7 +325,8 @@
void getFromTiny(MYSQL_BIND *bind, MYSQL_FIELD *field, void *data)
{
bool is_unsigned = (field->flags & UNSIGNED_FLAG) == UNSIGNED_FLAG;
-
+ int time = *(char *)data;
+
*bind->error = 0;
switch (bind->buffer_type)
@@ -368,15 +369,22 @@
break;
case MYSQL_TYPE_TIME:
+ convertTime(&time, (MYSQL_TIME *)bind->buffer, MYSQL_TIMESTAMP_TIME);
+ *bind->error = true;
break;
-
+
case MYSQL_TYPE_DATE:
+ convertTime(&time, (MYSQL_TIME *)bind->buffer, MYSQL_TIMESTAMP_DATE);
+ *bind->error = true;
break;
-
+
case MYSQL_TYPE_DATETIME:
+ convertTime(&time, (MYSQL_TIME *)bind->buffer, MYSQL_TIMESTAMP_DATETIME);
+ *bind->error = true;
break;
-
+
default:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
}
}
@@ -384,6 +392,7 @@
void getFromShort(MYSQL_BIND *bind, MYSQL_FIELD *field, void *data)
{
bool is_unsigned = (field->flags & UNSIGNED_FLAG) == UNSIGNED_FLAG;
+ int time = *(short int *)data;
*bind->error = 0;
@@ -428,15 +437,22 @@
break;
case MYSQL_TYPE_TIME:
+ convertTime(&time, (MYSQL_TIME *)bind->buffer, MYSQL_TIMESTAMP_TIME);
+ *bind->error = true;
break;
case MYSQL_TYPE_DATE:
+ convertTime(&time, (MYSQL_TIME *)bind->buffer, MYSQL_TIMESTAMP_DATE);
+ *bind->error = true;
break;
case MYSQL_TYPE_DATETIME:
+ convertTime(&time, (MYSQL_TIME *)bind->buffer, MYSQL_TIMESTAMP_DATETIME);
+ *bind->error = true;
break;
default:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
}
}
@@ -444,6 +460,7 @@
void getFromLong(MYSQL_BIND *bind, MYSQL_FIELD *field, void *data)
{
bool is_unsigned = (field->flags & UNSIGNED_FLAG) == UNSIGNED_FLAG;
+ int time = *(int *)data;
*bind->error = 0;
@@ -489,15 +506,21 @@
break;
case MYSQL_TYPE_TIME:
+ convertTime(&time, (MYSQL_TIME *)bind->buffer, MYSQL_TIMESTAMP_TIME);
break;
case MYSQL_TYPE_DATE:
+ convertTime(&time, (MYSQL_TIME *)bind->buffer, MYSQL_TIMESTAMP_DATE);
+ *bind->error = true;
break;
case MYSQL_TYPE_DATETIME:
+ convertTime(&time, (MYSQL_TIME *)bind->buffer, MYSQL_TIMESTAMP_DATETIME);
+ *bind->error = true;
break;
default:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
}
}
@@ -505,6 +528,7 @@
void getFromLonglong(MYSQL_BIND *bind, MYSQL_FIELD *field, void *data)
{
bool is_unsigned = (field->flags & UNSIGNED_FLAG) == UNSIGNED_FLAG;
+ int datetime = *(int64_t *)data;
*bind->error = 0;
@@ -553,15 +577,20 @@
break;
case MYSQL_TYPE_TIME:
+ convertDateTime(&datetime, (MYSQL_TIME *)bind->buffer,
MYSQL_TIMESTAMP_TIME, false);
+ *bind->error = true;
break;
case MYSQL_TYPE_DATE:
+ convertDateTime(&datetime, (MYSQL_TIME *)bind->buffer,
MYSQL_TIMESTAMP_DATE, false);
break;
case MYSQL_TYPE_DATETIME:
+ convertDateTime(&datetime, (MYSQL_TIME *)bind->buffer,
MYSQL_TIMESTAMP_DATETIME, false);
break;
default:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
}
}
@@ -617,15 +646,19 @@
break;
case MYSQL_TYPE_TIME:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
case MYSQL_TYPE_DATE:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
case MYSQL_TYPE_DATETIME:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
default:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
}
}
@@ -681,15 +714,19 @@
break;
case MYSQL_TYPE_TIME:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
case MYSQL_TYPE_DATE:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
case MYSQL_TYPE_DATETIME:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
default:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
}
}
@@ -778,15 +815,19 @@
break;
case MYSQL_TYPE_TIME:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
case MYSQL_TYPE_DATE:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
case MYSQL_TYPE_DATETIME:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
default:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
}
}
@@ -798,21 +839,27 @@
switch (bind->buffer_type)
{
case MYSQL_TYPE_TINY:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
case MYSQL_TYPE_SHORT:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
case MYSQL_TYPE_LONG:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
case MYSQL_TYPE_LONGLONG:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
case MYSQL_TYPE_FLOAT:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
case MYSQL_TYPE_DOUBLE:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
case MYSQL_TYPE_DECIMAL:
@@ -823,6 +870,7 @@
case MYSQL_TYPE_BLOB:
case MYSQL_TYPE_VAR_STRING:
case MYSQL_TYPE_STRING:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
case MYSQL_TYPE_TIME:
@@ -839,6 +887,7 @@
break;
default:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
}
}
@@ -850,21 +899,27 @@
switch (bind->buffer_type)
{
case MYSQL_TYPE_TINY:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
case MYSQL_TYPE_SHORT:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
case MYSQL_TYPE_LONG:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
case MYSQL_TYPE_LONGLONG:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
case MYSQL_TYPE_FLOAT:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
case MYSQL_TYPE_DOUBLE:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
case MYSQL_TYPE_DECIMAL:
@@ -875,6 +930,7 @@
case MYSQL_TYPE_BLOB:
case MYSQL_TYPE_VAR_STRING:
case MYSQL_TYPE_STRING:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
case MYSQL_TYPE_TIME:
@@ -891,6 +947,7 @@
break;
default:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
}
}
@@ -902,21 +959,27 @@
switch (bind->buffer_type)
{
case MYSQL_TYPE_TINY:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
case MYSQL_TYPE_SHORT:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
case MYSQL_TYPE_LONG:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
case MYSQL_TYPE_LONGLONG:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
case MYSQL_TYPE_FLOAT:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
case MYSQL_TYPE_DOUBLE:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
case MYSQL_TYPE_DECIMAL:
@@ -927,6 +990,7 @@
case MYSQL_TYPE_BLOB:
case MYSQL_TYPE_VAR_STRING:
case MYSQL_TYPE_STRING:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
case MYSQL_TYPE_TIME:
@@ -944,47 +1008,11 @@
break;
default:
+ LOG4CXX_ERROR(logger, "Not implemented yet!");
break;
}
}
-/*
- * TODO Not yet implemented conversion functions!!!
- *
-void getFromTimestamp(MYSQL_BIND *bind, MYSQL_FIELD *field, void *data)
-{
-}
-
-void getFromInt24(MYSQL_BIND *bind, MYSQL_FIELD *field, void *data)
-{
-}
-
-void getFromYear(MYSQL_BIND *bind, MYSQL_FIELD *field, void *data)
-{
-}
-
-void getFromNewDate(MYSQL_BIND *bind, MYSQL_FIELD *field, void *data)
-{
-}
-
-void getFromBit(MYSQL_BIND *bind, MYSQL_FIELD *field, void *data)
-{
-}
-
-void getFromEnum(MYSQL_BIND *bind, MYSQL_FIELD *field, void *data)
-{
-}
-
-void getFromSet(MYSQL_BIND *bind, MYSQL_FIELD *field, void *data)
-{
-}
-
-void getFromGeometry(MYSQL_BIND *bind, MYSQL_FIELD *field, void *data)
-{
-}
-
-*/
-
bool MYSQL_TIME_to_str(MYSQL_TIME *t, char *s, int maxlen)
{
bool result = true;
_______________________________________________
Carob-commits mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/carob-commits