From d16e6dfde2a75c55604cabeddb2dbc90dd951550 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Sat, 30 Mar 2019 22:42:24 +0300 Subject: Add support for building against libmysqlclient 8.0 --- odb/mysql/mysql-types.hxx | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/odb/mysql/mysql-types.hxx b/odb/mysql/mysql-types.hxx index b4ec44a..32cb332 100644 --- a/odb/mysql/mysql-types.hxx +++ b/odb/mysql/mysql-types.hxx @@ -7,8 +7,22 @@ #include +#include + +// Starting with 8.0.1 instead of my_bool MySQL uses bool directly. We keep +// using the alias for compatibility with previous versions. +// +#if !defined(LIBODB_MYSQL_MARIADB) && MYSQL_VERSION_ID >= 80001 +typedef bool my_bool; +#else typedef char my_bool; +#endif + +// Starting with 8.0.11 MySQL renamed st_mysql_bind to MYSQL_BIND. +// +#if defined(LIBODB_MYSQL_MARIADB) || MYSQL_VERSION_ID < 80011 typedef struct st_mysql_bind MYSQL_BIND; +#endif // MariaDB defines time types directly in mysql.h. Note that MariaDB is only // supported by the build2 build so we include the header as -- cgit v1.1