From: Kees Monshouwer Date: Sat, 23 Nov 2013 11:42:16 +0000 (+0100) Subject: autodetect MySQL 5.5+ connection charset X-Git-Tag: rec-3.6.0-rc1~333^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=50acfea67933c67c4613e6c13ebc67a73557bc88;p=pdns autodetect MySQL 5.5+ connection charset --- diff --git a/.travis.yml b/.travis.yml index b82bf7d33..70a510a8f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -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 diff --git a/modules/gmysqlbackend/smysql.cc b/modules/gmysqlbackend/smysql.cc index 8b8682408..e20aa9fb2 100644 --- a/modules/gmysqlbackend/smysql.cc +++ b/modules/gmysqlbackend/smysql.cc @@ -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'");