]> granicus.if.org Git - pdns/commitdiff
autodetect MySQL 5.5+ connection charset
authorKees Monshouwer <mind04@monshouwer.org>
Sat, 23 Nov 2013 11:42:16 +0000 (12:42 +0100)
committermind04 <mind04@monshouwer.org>
Sun, 24 Nov 2013 11:00:54 +0000 (12:00 +0100)
.travis.yml
modules/gmysqlbackend/smysql.cc

index b82bf7d33af959b50014cc723163b086b8625231..70a510a8fd29d2a649423e851060d3ff8507828e 100644 (file)
@@ -5,8 +5,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 bind9utils libtool libcdb-dev xmlto dblatex links asciidoc ruby-json ruby-sqlite3 rubygems libcurl4-openssl-dev ruby1.9.1 socat time
- - sudo sed -i '0,/\[mysqld\]/s//[mysqld]\nskip-character-set-client-handshake/' /etc/mysql/my.cnf
- - sudo restart mysql
  - sudo update-alternatives --set ruby /usr/bin/ruby1.9.1
  - sudo gem install bundler --no-rdoc --no-ri --bindir /usr/local/bin
  - cd regression-tests
index 8b8682408dc51d838facee04390a04a8f9b8d39d..e20aa9fb25972bdc55aff7d3a3e5e6b4820cc8c9 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'");