Date: Wednesday, April 5, 2006 @ 09:28:27
  Author: csaba
    Path: /cvsroot/carob/libmysequoia

Modified: src/CarobMySQL.cpp (1.69 -> 1.70) test/TestMySQLAPI.cpp (1.34 ->
          1.35) test/TestMySQLAPI.hpp (1.13 -> 1.14)

- save the charset name - fixes LMS-9
- unit test bug_lms_9_test()


-----------------------+
 src/CarobMySQL.cpp    |    3 +++
 test/TestMySQLAPI.cpp |   11 +++++++++++
 test/TestMySQLAPI.hpp |    2 ++
 3 files changed, 16 insertions(+)


Index: libmysequoia/src/CarobMySQL.cpp
diff -u libmysequoia/src/CarobMySQL.cpp:1.69 
libmysequoia/src/CarobMySQL.cpp:1.70
--- libmysequoia/src/CarobMySQL.cpp:1.69        Tue Apr  4 18:37:54 2006
+++ libmysequoia/src/CarobMySQL.cpp     Wed Apr  5 09:28:27 2006
@@ -821,6 +821,9 @@
     try
     {
       result = conv.set_code(name);
+
+      FREE_AND_NULL_ARRAY(mysqlPtr->options.charset_name);
+      mysqlPtr->options.charset_name = cstrdup(name);
     }
     catch (ConverterException &ex)
     {
Index: libmysequoia/test/TestMySQLAPI.cpp
diff -u libmysequoia/test/TestMySQLAPI.cpp:1.34 
libmysequoia/test/TestMySQLAPI.cpp:1.35
--- libmysequoia/test/TestMySQLAPI.cpp:1.34     Tue Apr  4 14:14:23 2006
+++ libmysequoia/test/TestMySQLAPI.cpp  Wed Apr  5 09:28:27 2006
@@ -885,3 +885,14 @@
   // free the result set
   mysql_free_result(res);
 }
+
+void TestMySQLAPI::bug_lms_9_test(void)
+{
+  const char *setcharset = "gbk";
+  const char *getcharset = 0;
+  
+  CPPUNIT_ASSERT(mysql_real_connect(mysql, HOST, USER1, PASSWD1, DB1, 0, 0, 0) 
!= 0);
+  CPPUNIT_ASSERT(mysql_set_character_set(mysql, "gbk") == 0);
+  getcharset = mysql_character_set_name(mysql);
+  CPPUNIT_ASSERT(strcmp(getcharset, setcharset) == 0);
+}
Index: libmysequoia/test/TestMySQLAPI.hpp
diff -u libmysequoia/test/TestMySQLAPI.hpp:1.13 
libmysequoia/test/TestMySQLAPI.hpp:1.14
--- libmysequoia/test/TestMySQLAPI.hpp:1.13     Tue Apr  4 14:14:23 2006
+++ libmysequoia/test/TestMySQLAPI.hpp  Wed Apr  5 09:28:27 2006
@@ -60,6 +60,7 @@
     CPPUNIT_TEST (mysql_stmt_long_data_fetch_field_test);
     CPPUNIT_TEST (mysql_blob_test);
     CPPUNIT_TEST (bug_lms_6_test);
+    CPPUNIT_TEST (bug_lms_9_test);
   CPPUNIT_TEST_SUITE_END ();
 
 public:
@@ -97,6 +98,7 @@
   void mysql_stmt_long_data_fetch_field_test(void);
   void mysql_blob_test(void);
   void bug_lms_6_test(void);
+  void bug_lms_9_test(void);
 private:
   MYSQL *mysql;
 };

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

Reply via email to