diff --git a/include/mysql.h b/include/mysql.h index 62f30127..633cd835 100644 --- a/include/mysql.h +++ b/include/mysql.h @@ -444,10 +444,15 @@ int STDCALL mysql_set_server_option(MYSQL *mysql, enum enum_mysql_set_option option); const char * STDCALL mysql_get_client_info(void); unsigned long STDCALL mysql_get_client_version(void); +my_bool STDCALL mariadb_connection(MYSQL *mysql); +const char * STDCALL mysql_get_server_name(MYSQL *mysql); #include +/* synonyms, alternate functions */ #define mysql_reload(mysql) mysql_refresh((mysql),REFRESH_GRANT) +#define mysql_library_init mysql_server_init +#define mysql_library_end mysql_server_end /* new api functions */ diff --git a/libmariadb/libmariadb.c b/libmariadb/libmariadb.c index e44e2c61..026a4d1a 100644 --- a/libmariadb/libmariadb.c +++ b/libmariadb/libmariadb.c @@ -3002,3 +3002,15 @@ ulong STDCALL mysql_hex_string(char *to, const char *from, *to= 0; return (to - start); } + +my_bool STDCALL mariadb_connection(MYSQL *mysql) +{ + return (strstr(mysql->server_version, "MariaDB") || + strstr(mysql->server_version, "-maria-")); +} + +const char * STDCALL +mysql_get_server_name(MYSQL *mysql) +{ + return mariadb_connection(mysql) ? "MariaDB" : "MySQL"; +} diff --git a/libmariadb/libmariadb_exports.def b/libmariadb/libmariadb_exports.def index 306a74d2..60506cd5 100644 --- a/libmariadb/libmariadb_exports.def +++ b/libmariadb/libmariadb_exports.def @@ -103,5 +103,6 @@ EXPORTS mysql_set_character_set mysql_get_character_set_info mysql_stmt_next_result - + mariadb_connection + mysql_get_server_name