From 908778078736bd36f7a60a2d576d415cb8e000fa Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 22 May 2021 07:31:18 +0100 Subject: gentoo resync : 22.05.2021 --- ...c++-8.0.25-fix-mysqlclient-static-binding.patch | 274 +++++++++++++++++++++ 1 file changed, 274 insertions(+) create mode 100644 dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.25-fix-mysqlclient-static-binding.patch (limited to 'dev-db/mysql-connector-c++/files') diff --git a/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.25-fix-mysqlclient-static-binding.patch b/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.25-fix-mysqlclient-static-binding.patch new file mode 100644 index 000000000000..f211f113f04a --- /dev/null +++ b/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.25-fix-mysqlclient-static-binding.patch @@ -0,0 +1,274 @@ +From 774d7bd983a2e12e78a0231c7936a9481bb3df1d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Lu=C3=ADs=20Silva?= +Date: Thu, 13 May 2021 23:14:57 +0100 +Subject: [PATCH] Bug #32882344: FIX MYSQLCLIENT_STATIC_BINDING=0 BUILD + +--- + driver/nativeapi/libmysql_dynamic_proxy.cpp | 13 ++ + driver/nativeapi/libmysql_dynamic_proxy.h | 132 ++++++++++---------- + driver/nativeapi/mysql_client_api.h | 2 + + 3 files changed, 83 insertions(+), 64 deletions(-) + +diff --git a/driver/nativeapi/libmysql_dynamic_proxy.cpp b/driver/nativeapi/libmysql_dynamic_proxy.cpp +index 4c70074e..9bd4bd99 100644 +--- a/jdbc/driver/nativeapi/libmysql_dynamic_proxy.cpp ++++ b/jdbc/driver/nativeapi/libmysql_dynamic_proxy.cpp +@@ -512,6 +512,19 @@ LibmysqlDynamicProxy::real_connect_dns_srv(MYSQL * mysql, + /* }}} */ + + ++/* {{{ LibmysqlDynamicProxy::bind_param() */ ++bool ++LibmysqlDynamicProxy::bind_param(MYSQL *mysql, unsigned n_params, ++ MYSQL_BIND *binds, const char **names) ++{ ++ ptr2mysql_bind_param ptr2_bind_param= ++ symbol_safe_cast(GetProcAddr("mysql_bind_param")); ++ ++ return (*ptr2_bind_param)(mysql, n_params, binds, names); ++} ++/* }}} */ ++ ++ + /* {{{ LibmysqlDynamicProxy::real_escape_string() */ + unsigned long + LibmysqlDynamicProxy::real_escape_string(MYSQL * mysql, char * to, const char * from, unsigned long length) +diff --git a/driver/nativeapi/libmysql_dynamic_proxy.h b/driver/nativeapi/libmysql_dynamic_proxy.h +index 93dc9700..e0f00c95 100644 +--- a/jdbc/driver/nativeapi/libmysql_dynamic_proxy.h ++++ b/jdbc/driver/nativeapi/libmysql_dynamic_proxy.h +@@ -65,67 +65,67 @@ public: + + // MySQL C-API calls wrappers + +- my_ulonglong affected_rows(MYSQL *); ++ my_ulonglong affected_rows(MYSQL *) override; + +- my_bool autocommit(MYSQL * , my_bool); ++ my_bool autocommit(MYSQL * , my_bool) override; + +- void close (MYSQL *mysql); ++ void close (MYSQL *mysql) override; + +- my_bool commit(MYSQL *mysql); ++ my_bool commit(MYSQL *mysql) override; + +- void data_seek(MYSQL_RES *, my_ulonglong); ++ void data_seek(MYSQL_RES *, my_ulonglong) override; + +- void debug(const char *); ++ void debug(const char *) override; + +- unsigned int mysql_errno(MYSQL *); ++ unsigned int mysql_errno(MYSQL *) override; + +- const char * error(MYSQL *); ++ const char * error(MYSQL *) override; + +- MYSQL_FIELD * fetch_field(MYSQL_RES *); ++ MYSQL_FIELD * fetch_field(MYSQL_RES *) override; + +- MYSQL_FIELD * fetch_field_direct(MYSQL_RES *, unsigned int); ++ MYSQL_FIELD * fetch_field_direct(MYSQL_RES *, unsigned int) override; + +- unsigned long * fetch_lengths(MYSQL_RES *); ++ unsigned long * fetch_lengths(MYSQL_RES *) override; + +- MYSQL_ROW fetch_row(MYSQL_RES *); ++ MYSQL_ROW fetch_row(MYSQL_RES *) override; + +- unsigned int field_count(MYSQL *); ++ unsigned int field_count(MYSQL *) override; + +- void free_result(MYSQL_RES *); ++ void free_result(MYSQL_RES *) override; + +- unsigned long get_client_version(); ++ unsigned long get_client_version() override; + +- const char * get_server_info(MYSQL *); ++ const char * get_server_info(MYSQL *) override; + +- unsigned long get_server_version(MYSQL *); ++ unsigned long get_server_version(MYSQL *) override; + +- void get_character_set_info(MYSQL *, void *); ++ void get_character_set_info(MYSQL *, void *) override; + +- const char * info(MYSQL *); ++ const char * info(MYSQL *) override; + +- MYSQL * init(MYSQL *mysql); ++ MYSQL * init(MYSQL *mysql) override; + +- int library_init(int, char **, char **); ++ int library_init(int, char **, char **) override; + +- void library_end(); ++ void library_end() override; + +- my_bool more_results(MYSQL *); ++ my_bool more_results(MYSQL *) override; + +- int next_result(MYSQL *); ++ int next_result(MYSQL *) override; + +- unsigned int num_fields(MYSQL_RES *); ++ unsigned int num_fields(MYSQL_RES *) override; + +- my_ulonglong num_rows(MYSQL_RES *); ++ my_ulonglong num_rows(MYSQL_RES *) override; + +- int options (MYSQL *, enum mysql_option, const void *); ++ int options (MYSQL *, enum mysql_option, const void *) override; + +- int options (MYSQL *, enum mysql_option, const void *, const void *); ++ int options (MYSQL *, enum mysql_option, const void *, const void *) override; + +- int get_option (MYSQL *, enum mysql_option, const void *); ++ int get_option (MYSQL *, enum mysql_option, const void *) override; + +- int ping(MYSQL *); ++ int ping(MYSQL *) override; + +- int query(MYSQL *, const char *); ++ int query(MYSQL *, const char *) override; + + MYSQL * real_connect(MYSQL * mysql, const char * host, + const char * user, +@@ -133,82 +133,86 @@ public: + const char * db, + unsigned int port, + const char * unix_socket, +- unsigned long client_flag); ++ unsigned long client_flag) override; + + MYSQL * real_connect_dns_srv(MYSQL * mysql, + const char * host, + const char * user, + const char * passwd, + const char * db, +- unsigned long client_flag); ++ unsigned long client_flag) override; + +- unsigned long real_escape_string(MYSQL * mysql, char * to, const char * from, unsigned long length); ++ bool bind_param(MYSQL *mysql, unsigned n_params, ++ MYSQL_BIND *binds, const char **names) override; + +- int real_query(MYSQL *, const char *, unsigned long); + +- my_bool rollback(MYSQL *); ++ unsigned long real_escape_string(MYSQL * mysql, char * to, const char * from, unsigned long length) override; + +- const char * sqlstate(MYSQL *); ++ int real_query(MYSQL *, const char *, unsigned long) override; ++ ++ my_bool rollback(MYSQL *) override; ++ ++ const char * sqlstate(MYSQL *) override; + + my_bool ssl_set(MYSQL * mysql, + const char * key, + const char * cert, + const char * ca, + const char * capath, +- const char * cipher); ++ const char * cipher) override; + +- MYSQL_RES * store_result(MYSQL *); ++ MYSQL_RES * store_result(MYSQL *) override; + +- MYSQL_RES * use_result(MYSQL *); ++ MYSQL_RES * use_result(MYSQL *) override; + +- unsigned int warning_count(MYSQL *); ++ unsigned int warning_count(MYSQL *) override; + + /* Prepared Statement stmt_* functions */ +- my_ulonglong stmt_affected_rows (MYSQL_STMT *); ++ my_ulonglong stmt_affected_rows (MYSQL_STMT *) override; + +- my_bool stmt_attr_set(MYSQL_STMT *, enum enum_stmt_attr_type, const void *); ++ my_bool stmt_attr_set(MYSQL_STMT *, enum enum_stmt_attr_type, const void *) override; + +- my_bool stmt_bind_param(MYSQL_STMT *, MYSQL_BIND *); ++ my_bool stmt_bind_param(MYSQL_STMT *, MYSQL_BIND *) override; + +- my_bool stmt_bind_result(MYSQL_STMT *, MYSQL_BIND *); ++ my_bool stmt_bind_result(MYSQL_STMT *, MYSQL_BIND *) override; + +- my_bool stmt_close(MYSQL_STMT *); ++ my_bool stmt_close(MYSQL_STMT *) override; + +- void stmt_data_seek(MYSQL_STMT *, my_ulonglong); ++ void stmt_data_seek(MYSQL_STMT *, my_ulonglong) override; + +- unsigned int stmt_errno(MYSQL_STMT *); ++ unsigned int stmt_errno(MYSQL_STMT *) override; + +- const char * stmt_error(MYSQL_STMT *); ++ const char * stmt_error(MYSQL_STMT *) override; + +- int stmt_execute(MYSQL_STMT *); ++ int stmt_execute(MYSQL_STMT *) override; + +- int stmt_fetch(MYSQL_STMT *); ++ int stmt_fetch(MYSQL_STMT *) override; + +- unsigned int stmt_field_count(MYSQL_STMT *); ++ unsigned int stmt_field_count(MYSQL_STMT *) override; + +- MYSQL_STMT * stmt_init(MYSQL *); ++ MYSQL_STMT * stmt_init(MYSQL *) override; + +- my_ulonglong stmt_num_rows(MYSQL_STMT *); ++ my_ulonglong stmt_num_rows(MYSQL_STMT *) override; + +- unsigned long stmt_param_count(MYSQL_STMT *); ++ unsigned long stmt_param_count(MYSQL_STMT *) override; + +- int stmt_prepare(MYSQL_STMT *, const char *, unsigned long); ++ int stmt_prepare(MYSQL_STMT *, const char *, unsigned long) override; + +- MYSQL_RES * stmt_result_metadata(MYSQL_STMT *); ++ MYSQL_RES * stmt_result_metadata(MYSQL_STMT *) override; + +- my_bool stmt_send_long_data (MYSQL_STMT * , unsigned int, const char *, unsigned long); ++ my_bool stmt_send_long_data (MYSQL_STMT * , unsigned int, const char *, unsigned long) override; + +- const char * stmt_sqlstate(MYSQL_STMT *); ++ const char * stmt_sqlstate(MYSQL_STMT *) override; + +- int stmt_store_result(MYSQL_STMT *); ++ int stmt_store_result(MYSQL_STMT *) override; + +- int stmt_next_result(MYSQL_STMT *); ++ int stmt_next_result(MYSQL_STMT *) override; + +- bool stmt_free_result(MYSQL_STMT *); ++ bool stmt_free_result(MYSQL_STMT *) override; + +- void thread_init(); ++ void thread_init() override; + +- void thread_end(); ++ void thread_end() override; + }; + + } /* namespace NativeAPI */ +diff --git a/driver/nativeapi/mysql_client_api.h b/driver/nativeapi/mysql_client_api.h +index b738cf9a..fa044c93 100644 +--- a/jdbc/driver/nativeapi/mysql_client_api.h ++++ b/jdbc/driver/nativeapi/mysql_client_api.h +@@ -111,6 +111,8 @@ typedef MYSQL * (STDCALL *ptr2mysql_real_connect)(MYSQL *, const char *, const c + + typedef MYSQL * (STDCALL *ptr2mysql_real_connect_dns_srv)(MYSQL *, const char *, const char *, const char * , const char *, unsigned long); + ++typedef bool (STDCALL *ptr2mysql_bind_param)(MYSQL *mysql, unsigned n_params, MYSQL_BIND *binds, const char **names); ++ + typedef unsigned long (STDCALL *ptr2mysql_real_escape_string)(MYSQL * mysql, char *, const char *, unsigned long); + + typedef int (STDCALL *ptr2mysql_real_query)(MYSQL *, const char *, unsigned long); +-- +2.30.2 + -- cgit v1.2.3