From: Mark Andrews Date: Mon, 16 Mar 2020 05:44:51 +0000 (+1100) Subject: Typedef my_bool if missing. X-Git-Tag: v9.17.1~20^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c6d5d5c88f8fe61d21d9f2911e9649f89772527d;p=thirdparty%2Fbind9.git Typedef my_bool if missing. ORACLE MySQL 8.0 has dropped the my_bool type, so we need to reinstate it back when compiling with that version or higher. MariaDB is still keeping the my_bool type. The numbering between the two (MariaDB 5.x jumped to MariaDB 10.x) doesn't make the life of the developer easy. --- diff --git a/contrib/dlz/drivers/dlz_mysql_driver.c b/contrib/dlz/drivers/dlz_mysql_driver.c index f000aab8bdb..afe906a7fb1 100644 --- a/contrib/dlz/drivers/dlz_mysql_driver.c +++ b/contrib/dlz/drivers/dlz_mysql_driver.c @@ -62,6 +62,10 @@ #include #include +#if !defined(LIBMARIADB) && MYSQL_VERSION_ID >= 80000 +typedef bool my_bool; +#endif /* !defined(LIBMARIADB) && MYSQL_VERSION_ID >= 80000 */ + static dns_sdlzimplementation_t *dlz_mysql = NULL; #define dbc_search_limit 30 diff --git a/contrib/dlz/modules/mysql/dlz_mysql_dynamic.c b/contrib/dlz/modules/mysql/dlz_mysql_dynamic.c index 1a40112b794..de6beac7362 100644 --- a/contrib/dlz/modules/mysql/dlz_mysql_dynamic.c +++ b/contrib/dlz/modules/mysql/dlz_mysql_dynamic.c @@ -59,6 +59,10 @@ #include #include +#if !defined(LIBMARIADB) && MYSQL_VERSION_ID >= 80000 +typedef bool my_bool; +#endif /* !defined(LIBMARIADB) && MYSQL_VERSION_ID >= 80000 */ + #define dbc_search_limit 30 #define ALLNODES 1 #define ALLOWXFR 2 diff --git a/contrib/dlz/modules/mysqldyn/dlz_mysqldyn_mod.c b/contrib/dlz/modules/mysqldyn/dlz_mysqldyn_mod.c index 9a2ca2370fb..d6f759d4145 100644 --- a/contrib/dlz/modules/mysqldyn/dlz_mysqldyn_mod.c +++ b/contrib/dlz/modules/mysqldyn/dlz_mysqldyn_mod.c @@ -61,6 +61,10 @@ #include #include +#if !defined(LIBMARIADB) && MYSQL_VERSION_ID >= 80000 +typedef bool my_bool; +#endif /* !defined(LIBMARIADB) && MYSQL_VERSION_ID >= 80000 */ + /* * The SQL queries that will be used for lookups and updates are defined * here. They will be processed into queries by the build_query() @@ -1020,7 +1024,10 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], void **dbdata, */ if (mysql_thread_safe()) { for (n = 0; n < MAX_DBI; n++) { +#if MYSQL_VERSION_ID >= 50000 my_bool opt = 1; +#endif + dlz_mutex_init(&state->db[n].mutex, NULL); dlz_mutex_lock(&state->db[n].mutex); state->db[n].id = n; @@ -1028,8 +1035,10 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], void **dbdata, state->db[n].sock = mysql_init(NULL); mysql_options(state->db[n].sock, MYSQL_READ_DEFAULT_GROUP, modname); +#if MYSQL_VERSION_ID >= 50000 mysql_options(state->db[n].sock, MYSQL_OPT_RECONNECT, &opt); +#endif dlz_mutex_unlock(&state->db[n].mutex); }