]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
autodetect MySQL 5.5+ connection charset
authorKees Monshouwer <mind04@monshouwer.org>
Sat, 23 Nov 2013 11:42:16 +0000 (12:42 +0100)
committerPeter van Dijk <peter.van.dijk@netherlabs.nl>
Tue, 26 Nov 2013 11:26:32 +0000 (12:26 +0100)
Conflicts:
.travis.yml

.travis.yml
modules/gmysqlbackend/smysql.cc

index d5b6de9c1e47c7855e8f672c01d51041a5351daa..ce34201974cda9feeab225af16488b285be6f320 100644 (file)
@@ -4,8 +4,6 @@ compiler:
 before_script:
  - sudo apt-get update
  - sudo apt-get install libboost-all-dev libtolua-dev bc libcdb-dev libnet-dns-perl unbound-host ldnsutils dnsutils libtool libcdb-dev xmlto dblatex links asciidoc
- - sudo sed -i '0,/\[mysqld\]/s//[mysqld]\nskip-character-set-client-handshake/' /etc/mysql/my.cnf
- - sudo restart mysql
 script:
  - ./bootstrap
  - ./configure --with-modules='gmysql tinydns random' --with-sqlite3 --enable-unit-tests
index b6a97a3d161cfb74a2cb7eca1ab54f19aca3c6dc..de67863a038a670956d55d28d4c8e990957d0252 100644 (file)
@@ -22,16 +22,20 @@ SMySQL::SMySQL(const string &database, const string &host, uint16_t port, const
   mysql_init(&d_db);
   do {
 
-  #if MYSQL_VERSION_ID >= 50013
+#if MYSQL_VERSION_ID >= 50013
     my_bool reconnect = 1;
     mysql_options(&d_db, MYSQL_OPT_RECONNECT, &reconnect);
-  #endif
+#endif
 
-  #if MYSQL_VERSION_ID > 51000
+#if MYSQL_VERSION_ID >= 50100
     unsigned int timeout = 10;
     mysql_options(&d_db, MYSQL_OPT_READ_TIMEOUT, &timeout);
     mysql_options(&d_db, MYSQL_OPT_WRITE_TIMEOUT, &timeout);
-  #endif
+#endif
+
+#if MYSQL_VERSION_ID >= 50500
+    mysql_options(&d_db, MYSQL_SET_CHARSET_NAME, MYSQL_AUTODETECT_CHARSET_NAME);
+#endif
 
     if (setIsolation && (retry == 1))
       mysql_options(&d_db, MYSQL_INIT_COMMAND,"SET SESSION tx_isolation='READ-COMMITTED'");