dev-db/mysql-connector-c++: drop 8.0.24, 8.0.25, 8.0.26

Bug: https://bugs.gentoo.org/822258
Signed-off-by: David Seifert <soap@gentoo.org>
This commit is contained in:
David Seifert
2022-03-03 22:21:50 +01:00
parent f30c3ae397
commit 4f138b3797
8 changed files with 0 additions and 1068 deletions

View File

@@ -1,5 +1,2 @@
DIST mysql-connector-c++-1.1.12.tar.gz 518615 BLAKE2B 386a4753ca3f03999a49a89507da1b1172b3db89797c38403fee4eea86e7108a5e4f91f24a17de86d585c2a3d9e5742a117fa84d9b14aad649f938a597f3dae9 SHA512 d7e132dbc2efda4a77f8ae00c24006a1ade1d0a50f22d89ece453505e6d206427ee7988df29c0d6ef8b396ad6b8d326b6d263a1d4fa08ef5db0966fb4f1479f4
DIST mysql-connector-c++-8.0.24-src.tar.gz 3797356 BLAKE2B e509e04f6c93893948c573401188567bcbda91db0e608d53b1795593abf043117e1a525d3abe5c8396068a2ef750582cde15b64412e556e89762d08032abb602 SHA512 5507bc562e8263ee17efb9d4e2f52e471da75e73a1fc4dd1bc0a2ac1c2a593be889c4b042037cf6d3cbff854ae5cc865a8800251da475aed0f31710229af26f1
DIST mysql-connector-c++-8.0.25-src.tar.gz 3800065 BLAKE2B 67546b2d7d9de25ccb440c22bd58ee83e6fae78710e6dfa802cb0446bf5be433c56458424f0ee81c9a899bbfd5f464712d2d0b43dceb4205b492c7b1a79f7858 SHA512 44dd7f4296d666801be55642e53cb5181d9b5c3b080306975a48eb6280e555d9b924b42b14b44dffee4c54fab3f662a7b6bb6584d9a1ed710f0026788611c525
DIST mysql-connector-c++-8.0.26-src.tar.gz 3980027 BLAKE2B 86ce0d94db588ed86ce7b21851f866da26268f7c9059b57697cbe1f5c5d031a3eada2f55042feb7b2888b538277c773215c0d19e8a1968ff70ce363e8f95bd77 SHA512 e3a08551a4245bf886cb7e3775a256fa379bb781b523a84d30e0d0c16cae73c808a3413b08b09998eba9c0ea3ede19e505b6392ed71712a8e9a2df31f07e4c79
DIST mysql-connector-c++-8.0.27-src.tar.gz 4004836 BLAKE2B e581c679d8d9a31d2570b9cf1968b4e793cfccbd4cafdc5a9c9d17a465c16faa1492b2da7bdc1679d97474c27b6353274a390668f77d3cb47f72598eb3a967fa SHA512 3da7109efd2d1af813931b923218de9a85afe20d23e2654eecfa5524431f5b11ebdb8421b14563300b66ab61714e284cc15407a3b28a87922c9a8c79b2804bf3

View File

@@ -1,322 +0,0 @@
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -467,7 +467,7 @@ set_target_properties(connector PROPERTIES
install(TARGETS connector
- CONFIGURATIONS Release RelWithDebInfo
+ CONFIGURATIONS Release RelWithDebInfo Gentoo
ARCHIVE DESTINATION "${INSTALL_LIB_DIR_STATIC}" COMPONENT XDevAPIDev
RUNTIME DESTINATION "${INSTALL_LIB_DIR}" COMPONENT XDevAPIDll
LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT XDevAPIDll
--- a/cdk/cmake/DepFindProtobuf.cmake
+++ b/cdk/cmake/DepFindProtobuf.cmake
@@ -48,244 +48,7 @@ if(TARGET Protobuf::pb)
return()
endif()
-message(STATUS "Setting up Protobuf.")
-
-set(PB_SOURCE_DIR "${PROJECT_SOURCE_DIR}/protobuf")
-set(PB_BINARY_DIR "${PROJECT_BINARY_DIR}/protobuf")
-set(config_stamp "${PB_BINARY_DIR}/config.stamp")
-set(build_stamp "${PB_BINARY_DIR}/build.stamp")
-
-
-#
-# Pick build configuration for the protobuf build. Normally we build using the
-# same build configuration that is used for building CDK (Release/Debug/etc.).
-# But we also support building CDK under non-standard build configuration
-# named 'Static' (this is a dirty trick we use to simplify building our MSIs).
-# Since protobuf does not know 'Static' build configuration, we build protobuf
-# under 'Release' configuration in that case.
-#
-# We need to handle two cases. For some build systems, like Makefiles,
-# the build configuration is specified at cmake time using CMAKE_BUILD_TYPE
-# variable. In that case we also set it during protobuf build configuration.
-# Another case is a multi-configuration build system like MSVC. In this case
-# we use generator expression to pick correct configuration when the build
-# command is invoked below.
-#
-
-set(build_type)
-if(CMAKE_BUILD_TYPE)
- if(CMAKE_BUILD_TYPE MATCHES "[Ss][Tt][Aa][Tt][Ii][Cc]")
- set(set_build_type -DCMAKE_BUILD_TYPE=Release)
- else()
- set(set_build_type -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE})
- endif()
-endif()
-
-set(CONFIG_EXPR
- $<$<CONFIG:Static>:Release>$<$<NOT:$<CONFIG:Static>>:$<CONFIG>>
-)
-
-set(set_arch)
-if(CMAKE_GENERATOR_PLATFORM)
- set(set_arch -A ${CMAKE_GENERATOR_PLATFORM})
-endif()
-
-set(set_toolset)
-if(CMAKE_GENERATOR_TOOLSET)
- set(set_toolset -T ${CMAKE_GENERATOR_TOOLSET})
-endif()
-
-set(set_system_name)
-if(CMAKE_SYSTEM_NAME)
- set(set_system_name -DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME})
- if(CMAKE_SYSTEM_VERSION)
- list(APPEND set_system_name -DCMAKE_SYSTEM_VERSION=${CMAKE_SYSTEM_VERSION})
- endif()
-endif()
-
-set(set_system_processor)
-if(CMAKE_SYSTEM_PROCESSOR)
- set(set_system_processor -DCMAKE_SYSTEM_PROCESSOR=${CMAKE_SYSTEM_PROCESSOR})
-endif()
-
-if(NOT EXISTS "${PB_BINARY_DIR}/exports.cmake")
-
- message("==== Configuring Protobuf build using cmake generator: ${CMAKE_GENERATOR} ${set_arch} ${set_toolset} ${set_system_name}")
-
- file(REMOVE "${PB_BINARY_DIR}/CMakeCache.txt")
- file(MAKE_DIRECTORY "${PB_BINARY_DIR}")
-
- # Dirty trick to speed up cmake set up time.
- #file(
- # COPY "${CMAKE_BINARY_DIR}/CMakeFiles/${CMAKE_VERSION}"
- # DESTINATION "${PB_BINARY_DIR}/CMakeFiles"
- #)
-
- execute_process(
- COMMAND ${CMAKE_COMMAND}
- -G "${CMAKE_GENERATOR}"
- ${set_arch}
- ${set_toolset}
- ${set_build_type}
- ${set_system_name}
- ${set_system_processor}
- -DSTATIC_MSVCRT=${STATIC_MSVCRT}
- -DCMAKE_POSITION_INDEPENDENT_CODE=${CMAKE_POSITION_INDEPENDENT_CODE}
- -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
- -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
- -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG}
- -DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE}
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO}
- -DCMAKE_CXX_FLAGS_MINSIZEREL=${CMAKE_CXX_FLAGS_MINSIZEREL}
- -DCMAKE_STATIC_LINKER_FLAGS=${CMAKE_STATIC_LINKER_FLAGS}
- ${PB_SOURCE_DIR}
- WORKING_DIRECTORY ${PB_BINARY_DIR}
- RESULT_VARIABLE protobuf_config
- )
-
- if(protobuf_config)
- message(FATAL_ERROR "Could not configure Protobuf build: ${protobuf_config}")
- endif()
-
- message("==== Protobuf build configured.")
-
-endif()
-
-
-include(${PB_BINARY_DIR}/exports.cmake)
-
-#
-# Protobuf library targets imported above (pb_protobuf
-# and pb_protobuf-lite) are local to the directory from which
-# they were imported. This is not good if cdk is used as
-# a sub-project of a parent project, because the parent project
-# must have access to these targets.
-#
-# For that reason below we create global protobuf/protobuf-lite targets
-# and copy their locations from the imported targets.
-#
-# Note: we can't use ALIAS library because it does not work with imported
-# targets
-#
-
-add_library(Protobuf::pb-full STATIC IMPORTED GLOBAL)
-add_library(Protobuf::pb-lite STATIC IMPORTED GLOBAL)
-add_executable(Protobuf::protoc IMPORTED GLOBAL)
-
-set(TGT_protobuf Protobuf::pb-full)
-set(TGT_protobuf-lite Protobuf::pb-lite)
-set(TGT_protoc Protobuf::protoc)
-
-foreach(tgt protobuf protobuf-lite protoc)
-
- #message("processing: ${tgt}")
-
- set(loc_list)
-
- foreach(CONF NOCONFIG DEBUG RELEASE MINSIZEREL RELWITHDEBINFO)
-
- #message("- CONF: ${CONF}")
-
- get_target_property(LOC pb_${tgt} IMPORTED_LOCATION_${CONF})
-
- if(LOC)
-
- #message("- setting imported location to: ${LOC}")
- list(APPEND loc_list "${LOC}")
-
- set_target_properties(${TGT_${tgt}} PROPERTIES
- IMPORTED_LOCATION_${CONF} "${LOC}"
- )
-
- set_property(TARGET ${TGT_${tgt}} APPEND PROPERTY
- IMPORTED_CONFIGURATIONS ${CONF}
- )
-
- endif()
-
- endforeach(CONF)
-
- #
- # To support 'Static' build configuration the targets imported from the
- # Protobuf project need to have IMPORTED_LOCATION_STATIC defined. We use
- # 'Release' locations as Protobuf is built using 'Release' configuration in
- # that case.
- #
-
- get_target_property(LOC ${TGT_${tgt}} IMPORTED_LOCATION_RELEASE)
- set_property(TARGET ${TGT_${tgt}} PROPERTY IMPORTED_LOCATION_STATIC ${LOC})
-
-endforeach(tgt)
-
-
-#message("Protobuf include path: ${PROTOBUF_INCLUDE_DIR}")
-set(PROTOBUF_INCLUDE_DIR ${PROTOBUF_INCLUDE_DIR} CACHE INTERNAL "")
-
-set_target_properties(Protobuf::pb-lite PROPERTIES
- INTERFACE_INCLUDE_DIRECTORIES "${PROTOBUF_INCLUDE_DIR}"
-)
-
-set_target_properties(Protobuf::pb-full PROPERTIES
- INTERFACE_LINK_LIBRARIES Protobuf::pb-lite
-)
-
-# On UNIX Protobuf uses pthread library
-if(UNIX)
- set_property(TARGET Protobuf::pb-lite APPEND PROPERTY
- INTERFACE_LINK_LIBRARIES pthread
- )
-endif()
-
-#
-# Note: This is needed to correctly compile headers generated by protobuf
-# with sunpro compiler.
-#
-
-if(SUNPRO)
- set_property(TARGET Protobuf::pb-lite APPEND PROPERTY
- INTERFACE_COMPILE_DEFINITIONS SOLARIS_64BIT_ENABLED
- )
-endif()
-
-#
-# Try using parallel builds for protobuf.
-#
-
-include(ProcessorCount)
-ProcessorCount(N)
-
-MESSAGE("Processor Count: ${N}")
-
-set(opt_build)
-set(opt_tool)
-if(NOT N EQUAL 0)
- if(NOT CMAKE_VERSION VERSION_LESS 3.12)
- set(opt_build --parallel ${N})
- elseif(CMAKE_MAKE_PROGRAM MATCHES "make")
- set(opt_tool -j${N})
- endif()
-endif()
-
-add_custom_command(OUTPUT "${build_stamp}"
- COMMAND ${CMAKE_COMMAND} --build . ${opt_build} --config ${CONFIG_EXPR} -- ${opt_tool}
- COMMAND ${CMAKE_COMMAND} -E touch "${build_stamp}"
- WORKING_DIRECTORY "${PB_BINARY_DIR}"
- COMMENT "Building protobuf"
-)
-
-add_custom_target(build_protobuf
- SOURCES "${build_stamp}"
-)
-
-set_target_properties(build_protobuf PROPERTIES FOLDER "Misc")
-
-add_dependencies(Protobuf::pb-full build_protobuf)
-add_dependencies(Protobuf::pb-lite build_protobuf)
-add_dependencies(Protobuf::protoc build_protobuf)
-
-# TODO: Handle lite/full version
-
-
+find_package(Protobuf REQUIRED)
# Standard PROTOBUF_GENERATE_CPP modified to our usage
@@ -314,11 +77,11 @@ function(mysqlx_protobuf_generate_cpp SRCS HDRS)
"${CMAKE_CURRENT_BINARY_DIR}/protobuf/${FIL_WE}.pb.h"
COMMAND ${CMAKE_COMMAND}
-E make_directory "${CMAKE_CURRENT_BINARY_DIR}/protobuf"
- COMMAND Protobuf::protoc
+ COMMAND ${Protobuf_PROTOC_EXECUTABLE}
ARGS --cpp_out "${CMAKE_CURRENT_BINARY_DIR}/protobuf"
-I ${ABS_PATH} ${ABS_FIL}
- --proto_path=${PROJECT_SOURCE_DIR}/protobuf/protobuf-3.6.1/src
- DEPENDS ${ABS_FIL} #${PROTOBUF_PROTOC_EXECUTABLE}
+ --proto_path=${Protobuf_INCLUDE_DIR}
+ DEPENDS ${ABS_FIL} #${Protobuf_PROTOC_EXECUTABLE}
COMMENT "Running C++ protocol buffer compiler on ${FIL}"
VERBATIM
)
--- a/cdk/core/CMakeLists.txt
+++ b/cdk/core/CMakeLists.txt
@@ -45,7 +45,7 @@ add_library(cdk STATIC ${cdk_sources} ${HEADERS})
target_link_libraries(cdk
PUBLIC cdk_mysqlx cdk_parser
- PRIVATE Protobuf::pb-lite # required by codecc.cc
+ PRIVATE protobuf # required by codecc.cc
)
add_coverage(cdk)
--- a/cdk/protocol/mysqlx/CMakeLists.txt
+++ b/cdk/protocol/mysqlx/CMakeLists.txt
@@ -127,11 +127,7 @@ target_include_directories(cdk_proto_mysqlx PRIVATE
${CMAKE_CURRENT_BINARY_DIR}
)
-if(use_full_protobuf)
- target_link_libraries(cdk_proto_mysqlx PRIVATE Protobuf::pb-full)
-else()
- target_link_libraries(cdk_proto_mysqlx PRIVATE Protobuf::pb-lite)
-endif()
+target_link_libraries(cdk_proto_mysqlx PRIVATE protobuf)
target_link_libraries(cdk_proto_mysqlx PRIVATE cdk_foundation zlib lz4 zstd)
--- a/jdbc.cmake
+++ b/jdbc.cmake
@@ -66,7 +66,7 @@ if(MYSQL_CONFIG_EXECUTABLE)
list(APPEND jdbc_cmake_opts -DMYSQL_CONFIG_EXECUTABLE=${MYSQL_CONFIG_EXECUTABLE})
endif()
-list(APPEND jdbc_cmake_opts -DMYSQLCLIENT_STATIC_LINKING=ON)
+list(APPEND jdbc_cmake_opts -DMYSQLCLIENT_STATIC_LINKING=OFF)
if(CMAKE_BUILD_TYPE)
if(CMAKE_BUILD_TYPE MATCHES "[Ss][Tt][Aa][Tt][Ii][Cc]")
--- a/jdbc/CMakeLists.txt
+++ b/jdbc/CMakeLists.txt
@@ -299,7 +299,7 @@ endif()
install(TARGETS connector-jdbc
- CONFIGURATIONS Release RelWithDebInfo
+ CONFIGURATIONS Release RelWithDebInfo Gentoo
ARCHIVE DESTINATION "${INSTALL_LIB_DIR_STATIC}" COMPONENT JDBCDev
RUNTIME DESTINATION "${INSTALL_LIB_DIR}" COMPONENT JDBCDll
LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT JDBCDll

View File

@@ -1,13 +0,0 @@
https://bugs.gentoo.org/786252
--- a/include/mysqlx/common/util.h
+++ b/include/mysqlx/common/util.h
@@ -112,6 +112,7 @@ PUSH_SYS_WARNINGS
#include <ostream>
#include <memory>
#include <forward_list>
+#include <limits> // std::numeric_limits
#include <string.h> // for memcpy
#include <utility> // std::move etc
#include <algorithm>

View File

@@ -1,274 +0,0 @@
From 774d7bd983a2e12e78a0231c7936a9481bb3df1d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lu=C3=ADs=20Silva?= <luis.m.silva@oracle.com>
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<ptr2mysql_bind_param>(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

View File

@@ -1,321 +0,0 @@
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -467,7 +467,7 @@ set_target_properties(connector PROPERTIES
install(TARGETS connector
- CONFIGURATIONS Release RelWithDebInfo
+ CONFIGURATIONS Release RelWithDebInfo Gentoo
ARCHIVE DESTINATION "${INSTALL_LIB_DIR_STATIC}" COMPONENT XDevAPIDev
RUNTIME DESTINATION "${INSTALL_LIB_DIR}" COMPONENT XDevAPIDll
LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT XDevAPIDll
--- a/cdk/cmake/DepFindProtobuf.cmake
+++ b/cdk/cmake/DepFindProtobuf.cmake
@@ -48,244 +48,7 @@ if(TARGET Protobuf::pb)
return()
endif()
-message(STATUS "Setting up Protobuf.")
-
-set(PB_SOURCE_DIR "${PROJECT_SOURCE_DIR}/protobuf")
-set(PB_BINARY_DIR "${PROJECT_BINARY_DIR}/protobuf")
-set(config_stamp "${PB_BINARY_DIR}/config.stamp")
-set(build_stamp "${PB_BINARY_DIR}/build.stamp")
-
-
-#
-# Pick build configuration for the protobuf build. Normally we build using the
-# same build configuration that is used for building CDK (Release/Debug/etc.).
-# But we also support building CDK under non-standard build configuration
-# named 'Static' (this is a dirty trick we use to simplify building our MSIs).
-# Since protobuf does not know 'Static' build configuration, we build protobuf
-# under 'Release' configuration in that case.
-#
-# We need to handle two cases. For some build systems, like Makefiles,
-# the build configuration is specified at cmake time using CMAKE_BUILD_TYPE
-# variable. In that case we also set it during protobuf build configuration.
-# Another case is a multi-configuration build system like MSVC. In this case
-# we use generator expression to pick correct configuration when the build
-# command is invoked below.
-#
-
-set(build_type)
-if(CMAKE_BUILD_TYPE)
- if(CMAKE_BUILD_TYPE MATCHES "[Ss][Tt][Aa][Tt][Ii][Cc]")
- set(set_build_type -DCMAKE_BUILD_TYPE=Release)
- else()
- set(set_build_type -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE})
- endif()
-endif()
-
-set(CONFIG_EXPR
- $<$<CONFIG:Static>:Release>$<$<NOT:$<CONFIG:Static>>:$<CONFIG>>
-)
-
-set(set_arch)
-if(CMAKE_GENERATOR_PLATFORM)
- set(set_arch -A ${CMAKE_GENERATOR_PLATFORM})
-endif()
-
-set(set_toolset)
-if(CMAKE_GENERATOR_TOOLSET)
- set(set_toolset -T ${CMAKE_GENERATOR_TOOLSET})
-endif()
-
-set(set_system_name)
-if(CMAKE_SYSTEM_NAME)
- set(set_system_name -DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME})
- if(CMAKE_SYSTEM_VERSION)
- list(APPEND set_system_name -DCMAKE_SYSTEM_VERSION=${CMAKE_SYSTEM_VERSION})
- endif()
-endif()
-
-set(set_system_processor)
-if(CMAKE_SYSTEM_PROCESSOR)
- set(set_system_processor -DCMAKE_SYSTEM_PROCESSOR=${CMAKE_SYSTEM_PROCESSOR})
-endif()
-
-if(NOT EXISTS "${PB_BINARY_DIR}/exports.cmake")
-
- message("==== Configuring Protobuf build using cmake generator: ${CMAKE_GENERATOR} ${set_arch} ${set_toolset} ${set_system_name}")
-
- file(REMOVE "${PB_BINARY_DIR}/CMakeCache.txt")
- file(MAKE_DIRECTORY "${PB_BINARY_DIR}")
-
- # Dirty trick to speed up cmake set up time.
- #file(
- # COPY "${CMAKE_BINARY_DIR}/CMakeFiles/${CMAKE_VERSION}"
- # DESTINATION "${PB_BINARY_DIR}/CMakeFiles"
- #)
-
- execute_process(
- COMMAND ${CMAKE_COMMAND}
- -G "${CMAKE_GENERATOR}"
- ${set_arch}
- ${set_toolset}
- ${set_build_type}
- ${set_system_name}
- ${set_system_processor}
- -DSTATIC_MSVCRT=${STATIC_MSVCRT}
- -DCMAKE_POSITION_INDEPENDENT_CODE=${CMAKE_POSITION_INDEPENDENT_CODE}
- -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
- -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
- -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG}
- -DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE}
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO}
- -DCMAKE_CXX_FLAGS_MINSIZEREL=${CMAKE_CXX_FLAGS_MINSIZEREL}
- -DCMAKE_STATIC_LINKER_FLAGS=${CMAKE_STATIC_LINKER_FLAGS}
- ${PB_SOURCE_DIR}
- WORKING_DIRECTORY ${PB_BINARY_DIR}
- RESULT_VARIABLE protobuf_config
- )
-
- if(protobuf_config)
- message(FATAL_ERROR "Could not configure Protobuf build: ${protobuf_config}")
- endif()
-
- message("==== Protobuf build configured.")
-
-endif()
-
-
-include(${PB_BINARY_DIR}/exports.cmake)
-
-#
-# Protobuf library targets imported above (pb_protobuf
-# and pb_protobuf-lite) are local to the directory from which
-# they were imported. This is not good if cdk is used as
-# a sub-project of a parent project, because the parent project
-# must have access to these targets.
-#
-# For that reason below we create global protobuf/protobuf-lite targets
-# and copy their locations from the imported targets.
-#
-# Note: we can't use ALIAS library because it does not work with imported
-# targets
-#
-
-add_library(Protobuf::pb-full STATIC IMPORTED GLOBAL)
-add_library(Protobuf::pb-lite STATIC IMPORTED GLOBAL)
-add_executable(Protobuf::protoc IMPORTED GLOBAL)
-
-set(TGT_libprotobuf Protobuf::pb-full)
-set(TGT_libprotobuf-lite Protobuf::pb-lite)
-set(TGT_protoc Protobuf::protoc)
-
-foreach(tgt libprotobuf libprotobuf-lite protoc)
-
- #message("processing: ${tgt}")
-
- set(loc_list)
-
- foreach(CONF NOCONFIG DEBUG RELEASE MINSIZEREL RELWITHDEBINFO)
-
- #message("- CONF: ${CONF}")
-
- get_target_property(LOC pb_${tgt} IMPORTED_LOCATION_${CONF})
-
- if(LOC)
-
- #message("- setting imported location to: ${LOC}")
- list(APPEND loc_list "${LOC}")
-
- set_target_properties(${TGT_${tgt}} PROPERTIES
- IMPORTED_LOCATION_${CONF} "${LOC}"
- )
-
- set_property(TARGET ${TGT_${tgt}} APPEND PROPERTY
- IMPORTED_CONFIGURATIONS ${CONF}
- )
-
- endif()
-
- endforeach(CONF)
-
- #
- # To support 'Static' build configuration the targets imported from the
- # Protobuf project need to have IMPORTED_LOCATION_STATIC defined. We use
- # 'Release' locations as Protobuf is built using 'Release' configuration in
- # that case.
- #
-
- get_target_property(LOC ${TGT_${tgt}} IMPORTED_LOCATION_RELEASE)
- set_property(TARGET ${TGT_${tgt}} PROPERTY IMPORTED_LOCATION_STATIC ${LOC})
-
-endforeach(tgt)
-
-
-#message("Protobuf include path: ${PROTOBUF_INCLUDE_DIR}")
-set(PROTOBUF_INCLUDE_DIR ${PROTOBUF_INCLUDE_DIR} CACHE INTERNAL "")
-
-set_target_properties(Protobuf::pb-lite PROPERTIES
- INTERFACE_INCLUDE_DIRECTORIES "${PROTOBUF_INCLUDE_DIR}"
-)
-
-set_target_properties(Protobuf::pb-full PROPERTIES
- INTERFACE_LINK_LIBRARIES Protobuf::pb-lite
-)
-
-# On UNIX Protobuf uses pthread library
-if(UNIX)
- set_property(TARGET Protobuf::pb-lite APPEND PROPERTY
- INTERFACE_LINK_LIBRARIES pthread
- )
-endif()
-
-#
-# Note: This is needed to correctly compile headers generated by protobuf
-# with sunpro compiler.
-#
-
-if(SUNPRO)
- set_property(TARGET Protobuf::pb-lite APPEND PROPERTY
- INTERFACE_COMPILE_DEFINITIONS SOLARIS_64BIT_ENABLED
- )
-endif()
-
-#
-# Try using parallel builds for protobuf.
-#
-
-include(ProcessorCount)
-ProcessorCount(N)
-
-MESSAGE("Processor Count: ${N}")
-
-set(opt_build)
-set(opt_tool)
-if(NOT N EQUAL 0)
- if(NOT CMAKE_VERSION VERSION_LESS 3.12)
- set(opt_build --parallel ${N})
- elseif(CMAKE_MAKE_PROGRAM MATCHES "make")
- set(opt_tool -j${N})
- endif()
-endif()
-
-add_custom_command(OUTPUT "${build_stamp}"
- COMMAND ${CMAKE_COMMAND} --build . ${opt_build} --config ${CONFIG_EXPR} -- ${opt_tool}
- COMMAND ${CMAKE_COMMAND} -E touch "${build_stamp}"
- WORKING_DIRECTORY "${PB_BINARY_DIR}"
- COMMENT "Building protobuf"
-)
-
-add_custom_target(build_protobuf
- SOURCES "${build_stamp}"
-)
-
-set_target_properties(build_protobuf PROPERTIES FOLDER "Misc")
-
-add_dependencies(Protobuf::pb-full build_protobuf)
-add_dependencies(Protobuf::pb-lite build_protobuf)
-add_dependencies(Protobuf::protoc build_protobuf)
-
-# TODO: Handle lite/full version
-
-
+find_package(Protobuf REQUIRED)
# Standard PROTOBUF_GENERATE_CPP modified to our usage
@@ -314,10 +77,11 @@ function(mysqlx_protobuf_generate_cpp SRCS HDRS)
"${CMAKE_CURRENT_BINARY_DIR}/protobuf/${FIL_WE}.pb.h"
COMMAND ${CMAKE_COMMAND}
-E make_directory "${CMAKE_CURRENT_BINARY_DIR}/protobuf"
- COMMAND Protobuf::protoc
+ COMMAND ${Protobuf_PROTOC_EXECUTABLE}
ARGS --cpp_out "${CMAKE_CURRENT_BINARY_DIR}/protobuf"
-I ${ABS_PATH} ${ABS_FIL}
- DEPENDS ${ABS_FIL} #${PROTOBUF_PROTOC_EXECUTABLE}
+ --proto_path=${Protobuf_INCLUDE_DIR}
+ DEPENDS ${ABS_FIL} #${Protobuf_PROTOC_EXECUTABLE}
COMMENT "Running C++ protocol buffer compiler on ${FIL}"
VERBATIM
)
--- a/cdk/core/CMakeLists.txt
+++ b/cdk/core/CMakeLists.txt
@@ -45,7 +45,7 @@ add_library(cdk STATIC ${cdk_sources} ${HEADERS})
target_link_libraries(cdk
PUBLIC cdk_mysqlx cdk_parser
- PRIVATE Protobuf::pb-lite # required by codecc.cc
+ PRIVATE protobuf # required by codecc.cc
)
add_coverage(cdk)
--- a/cdk/protocol/mysqlx/CMakeLists.txt
+++ b/cdk/protocol/mysqlx/CMakeLists.txt
@@ -127,11 +127,7 @@ target_include_directories(cdk_proto_mysqlx PRIVATE
${CMAKE_CURRENT_BINARY_DIR}
)
-if(use_full_protobuf)
- target_link_libraries(cdk_proto_mysqlx PRIVATE Protobuf::pb-full)
-else()
- target_link_libraries(cdk_proto_mysqlx PRIVATE Protobuf::pb-lite)
-endif()
+target_link_libraries(cdk_proto_mysqlx PRIVATE protobuf)
target_link_libraries(cdk_proto_mysqlx PRIVATE cdk_foundation zlib lz4 zstd)
--- a/jdbc.cmake
+++ b/jdbc.cmake
@@ -66,7 +66,7 @@ if(MYSQL_CONFIG_EXECUTABLE)
list(APPEND jdbc_cmake_opts -DMYSQL_CONFIG_EXECUTABLE=${MYSQL_CONFIG_EXECUTABLE})
endif()
-list(APPEND jdbc_cmake_opts -DMYSQLCLIENT_STATIC_LINKING=ON)
+list(APPEND jdbc_cmake_opts -DMYSQLCLIENT_STATIC_LINKING=OFF)
if(CMAKE_BUILD_TYPE)
if(CMAKE_BUILD_TYPE MATCHES "[Ss][Tt][Aa][Tt][Ii][Cc]")
--- a/jdbc/CMakeLists.txt
+++ b/jdbc/CMakeLists.txt
@@ -299,7 +299,7 @@ endif()
install(TARGETS connector-jdbc
- CONFIGURATIONS Release RelWithDebInfo
+ CONFIGURATIONS Release RelWithDebInfo Gentoo
ARCHIVE DESTINATION "${INSTALL_LIB_DIR_STATIC}" COMPONENT JDBCDev
RUNTIME DESTINATION "${INSTALL_LIB_DIR}" COMPONENT JDBCDll
LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT JDBCDll

View File

@@ -1,45 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
CMAKE_MAKEFILE_GENERATOR=emake
inherit cmake
DESCRIPTION="MySQL database connector for C++ (mimics JDBC 4.0 API)"
HOMEPAGE="https://dev.mysql.com/downloads/connector/cpp/"
URI_DIR="Connector-C++"
SRC_URI="https://dev.mysql.com/get/Downloads/${URI_DIR}/${P}-src.tar.gz"
LICENSE="Artistic GPL-2"
SLOT="0"
# -ppc, -sparc for bug #711940
KEYWORDS="amd64 arm ~arm64 -ppc ~ppc64 -sparc x86"
IUSE="+legacy"
RDEPEND="
dev-libs/protobuf:=
legacy? (
dev-libs/boost:=
>=dev-db/mysql-connector-c-6.1.8:=
)
dev-libs/openssl:0=
"
DEPEND="${RDEPEND}"
S="${WORKDIR}/${P}-src"
PATCHES=(
"${FILESDIR}"/${PN}-8.0.22-fix-build.patch
"${FILESDIR}"/${PN}-8.0.24-gcc11-numeric_limits.patch
)
src_configure() {
local mycmakeargs=(
-DWITH_SSL=system
-DWITH_JDBC=$(usex legacy ON OFF)
$(usex legacy '-DMYSQLCLIENT_STATIC_BINDING=0' '')
$(usex legacy '-DMYSQLCLIENT_STATIC_LINKING=0' '')
)
cmake_src_configure
}

View File

@@ -1,46 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
CMAKE_MAKEFILE_GENERATOR=emake
inherit cmake
DESCRIPTION="MySQL database connector for C++ (mimics JDBC 4.0 API)"
HOMEPAGE="https://dev.mysql.com/downloads/connector/cpp/"
URI_DIR="Connector-C++"
SRC_URI="https://dev.mysql.com/get/Downloads/${URI_DIR}/${P}-src.tar.gz"
LICENSE="Artistic GPL-2"
SLOT="0"
# -ppc, -sparc for bug #711940
KEYWORDS="amd64 arm ~arm64 -ppc ~ppc64 -sparc x86"
IUSE="+legacy"
RDEPEND="
dev-libs/protobuf:=
legacy? (
dev-libs/boost:=
>=dev-db/mysql-connector-c-6.1.8:=
)
dev-libs/openssl:0=
"
DEPEND="${RDEPEND}"
S="${WORKDIR}/${P}-src"
PATCHES=(
"${FILESDIR}"/${PN}-8.0.22-fix-build.patch
"${FILESDIR}"/${PN}-8.0.24-gcc11-numeric_limits.patch
"${FILESDIR}"/${PN}-8.0.25-fix-mysqlclient-static-binding.patch
)
src_configure() {
local mycmakeargs=(
-DWITH_SSL=system
-DWITH_JDBC=$(usex legacy ON OFF)
$(usex legacy '-DMYSQLCLIENT_STATIC_BINDING=0' '')
$(usex legacy '-DMYSQLCLIENT_STATIC_LINKING=0' '')
)
cmake_src_configure
}

View File

@@ -1,44 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
CMAKE_MAKEFILE_GENERATOR=emake
inherit cmake
DESCRIPTION="MySQL database connector for C++ (mimics JDBC 4.0 API)"
HOMEPAGE="https://dev.mysql.com/downloads/connector/cpp/"
URI_DIR="Connector-C++"
SRC_URI="https://dev.mysql.com/get/Downloads/${URI_DIR}/${P}-src.tar.gz"
LICENSE="Artistic GPL-2"
SLOT="0"
# -ppc, -sparc for bug #711940
KEYWORDS="~amd64 ~arm ~arm64 -ppc ~ppc64 -sparc ~x86"
IUSE="+legacy"
RDEPEND="
dev-libs/protobuf:=
legacy? (
dev-libs/boost:=
>=dev-db/mysql-connector-c-6.1.8:=
)
dev-libs/openssl:0=
"
DEPEND="${RDEPEND}"
S="${WORKDIR}/${P}-src"
PATCHES=(
"${FILESDIR}"/${PN}-8.0.26-fix-build.patch
)
src_configure() {
local mycmakeargs=(
-DWITH_SSL=system
-DWITH_JDBC=$(usex legacy ON OFF)
$(usex legacy '-DMYSQLCLIENT_STATIC_BINDING=0' '')
$(usex legacy '-DMYSQLCLIENT_STATIC_LINKING=0' '')
)
cmake_src_configure
}