Date: Wednesday, January 18, 2006 @ 12:30:03
  Author: csaba
    Path: /cvsroot/carob/libmysequoia

Modified: include/Utils.hpp (1.15 -> 1.16) src/Utils.cpp (1.20 -> 1.21)
          test/TestMySQLAPI.cpp (1.22 -> 1.23)

Added MYSQL_TIME_to_str() function.


-----------------------+
 include/Utils.hpp     |    5 +++++
 src/Utils.cpp         |   35 +++++++++++++++++++++++++++++++++++
 test/TestMySQLAPI.cpp |    8 +++-----
 3 files changed, 43 insertions(+), 5 deletions(-)


Index: libmysequoia/include/Utils.hpp
diff -u libmysequoia/include/Utils.hpp:1.15 libmysequoia/include/Utils.hpp:1.16
--- libmysequoia/include/Utils.hpp:1.15 Fri Jan 13 10:01:08 2006
+++ libmysequoia/include/Utils.hpp      Wed Jan 18 12:30:02 2006
@@ -123,4 +123,9 @@
 void getFromDate(MYSQL_BIND *bind, MYSQL_FIELD *field, void *data);
 void getFromDateTime(MYSQL_BIND *bind, MYSQL_FIELD *field, void *data);
 
+/**
+ * Convert a MYSQL_TIME structure to a character string
+ */
+bool MYSQL_TIME_to_str(MYSQL_TIME *t, char *s, int maxlen);
+
 #endif /* _UTILS_HPP */
Index: libmysequoia/src/Utils.cpp
diff -u libmysequoia/src/Utils.cpp:1.20 libmysequoia/src/Utils.cpp:1.21
--- libmysequoia/src/Utils.cpp:1.20     Tue Jan 17 14:51:14 2006
+++ libmysequoia/src/Utils.cpp  Wed Jan 18 12:30:02 2006
@@ -983,3 +983,38 @@
 }
 
 */
+
+bool MYSQL_TIME_to_str(MYSQL_TIME *t, char *s, int maxlen)
+{
+  bool result = true;
+  int len;
+  
+  switch (t->time_type)
+  {
+    case MYSQL_TIMESTAMP_NONE:
+    case MYSQL_TIMESTAMP_ERROR:
+      *s = '\0';
+      break;
+      
+    case MYSQL_TIMESTAMP_DATE:
+      len = snprintf(s, maxlen, "%04d-%02d-%02d", t->year, t->month, t->day);
+      result = (len < 0) || (len >= maxlen);
+      break;
+            
+    case MYSQL_TIMESTAMP_DATETIME:
+      len = snprintf(s, maxlen, "%04d-%02d-%02d %02d:%02d:%02d", t->year, 
t->month, t->day,
+                      t->hour, t->minute, t->second);
+      result = (len < 0) || (len >= maxlen);
+      break;
+                      
+    case MYSQL_TIMESTAMP_TIME:
+      len = snprintf(s, maxlen, "%s%02d:%02d:%02d", t->neg ? "-" : "", 
t->hour, t->minute, t->second);
+      result = (len < 0) || (len >= maxlen);
+      break;
+      
+    default:
+      result = false;
+  }
+  
+  return result;    
+}
Index: libmysequoia/test/TestMySQLAPI.cpp
diff -u libmysequoia/test/TestMySQLAPI.cpp:1.22 
libmysequoia/test/TestMySQLAPI.cpp:1.23
--- libmysequoia/test/TestMySQLAPI.cpp:1.22     Wed Jan 18 10:29:57 2006
+++ libmysequoia/test/TestMySQLAPI.cpp  Wed Jan 18 12:30:02 2006
@@ -197,11 +197,9 @@
 
 void TestMySQLAPI::mysql_real_query_1_test(void)
 {
-//  char *query = "create table t1 (a int(11) not null auto_increment, b 
int(11) default null,"
-//                " c varchar(200) default null, d date default null, e time 
default null, "
-//                "datetime default null, primary key  (a))";
   char *query = "create table t1 (a int(11) not null auto_increment, b int(11) 
default null,"
-                " c varchar(200) default null, d date default null, primary 
key  (a))";
+                " c varchar(200) default null, d date default null, e time 
default null,"
+                " f datetime default null, primary key  (a))";
   
   // connect to the database
   CPPUNIT_ASSERT(mysql_real_connect(mysql, HOST, USER1, PASSWD1, DB1, 0, 0, 0) 
!= 0);
@@ -351,7 +349,7 @@
   CPPUNIT_ASSERT(mysql_stmt_prepare(stmt, query, strlen(query)) == 0);
   CPPUNIT_ASSERT(mysql_stmt_param_count(stmt) == 2);
   
-  memset(bind, 0, sizeof(MYSQL_BIND));
+  memset(bind, 0, sizeof(bind));
   bind[0].buffer_type = MYSQL_TYPE_LONG;
   bind[0].buffer = (char *)&int_data;
   

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

Reply via email to