diff --git a/.travis_setup.sh b/.travis_setup.sh index fe114c68e..ab47c2eb9 100644 --- a/.travis_setup.sh +++ b/.travis_setup.sh @@ -17,6 +17,16 @@ if [[ -n ${DB-} && x$DB =~ ^xmysql80 ]]; then sudo bash .travis_mysql80.sh fi +# Install MariaDB client headers after Travis CI fix for MariaDB 10.2 broke earlier 10.x +if [[ -n ${DB-} && x$DB =~ ^xmariadb10.0 ]]; then + sudo apt-get install -y -o Dpkg::Options::='--force-confnew' libmariadbclient-dev +fi + +# Install MariaDB client headers after Travis CI fix for MariaDB 10.2 broke earlier 10.x +if [[ -n ${DB-} && x$DB =~ ^xmariadb10.1 ]]; then + sudo apt-get install -y -o Dpkg::Options::='--force-confnew' libmariadbclient-dev +fi + # Install MariaDB 10.2 if DB=mariadb10.2 # NOTE this is a workaround until Travis CI merges a fix to its mariadb addon. if [[ -n ${DB-} && x$DB =~ ^xmariadb10.2 ]]; then diff --git a/ext/mysql2/client.c b/ext/mysql2/client.c index afbaff3ba..224581452 100644 --- a/ext/mysql2/client.c +++ b/ext/mysql2/client.c @@ -53,7 +53,9 @@ VALUE rb_hash_dup(VALUE other) { * variable to use, but MYSQL_SERVER_VERSION gives the correct numbers when * linking against the server itself */ -#ifdef LIBMYSQL_VERSION +#if defined(MARIADB_CLIENT_VERSION_STR) + #define MYSQL_LINK_VERSION MARIADB_CLIENT_VERSION_STR +#elif defined(LIBMYSQL_VERSION) #define MYSQL_LINK_VERSION LIBMYSQL_VERSION #else #define MYSQL_LINK_VERSION MYSQL_SERVER_VERSION @@ -883,7 +885,7 @@ static VALUE _mysql_client_options(VALUE self, int opt, VALUE value) { retval = &boolval; break; -#if defined(MYSQL_SECURE_AUTH) +#ifdef MYSQL_SECURE_AUTH case MYSQL_SECURE_AUTH: boolval = (value == Qfalse ? 0 : 1); retval = &boolval; @@ -1315,7 +1317,7 @@ static VALUE set_ssl_options(VALUE self, VALUE key, VALUE cert, VALUE ca, VALUE static VALUE set_secure_auth(VALUE self, VALUE value) { /* This option was deprecated in MySQL 5.x and removed in MySQL 8.0 */ -#if defined(MYSQL_SECURE_AUTH) +#ifdef MYSQL_SECURE_AUTH return _mysql_client_options(self, MYSQL_SECURE_AUTH, value); #else return Qfalse; diff --git a/ext/mysql2/mysql2_ext.h b/ext/mysql2/mysql2_ext.h index 23ae0670d..f53f4b4a1 100644 --- a/ext/mysql2/mysql2_ext.h +++ b/ext/mysql2/mysql2_ext.h @@ -14,13 +14,11 @@ void Init_mysql2(void); #include #include #include -#include #else #include #include #include #include -#include #endif #ifdef HAVE_RUBY_ENCODING_H