Upgrade to MariaDB Connector 3.1.4

pull/2388/head
René Cannaò 7 years ago
parent 623d8b3667
commit a9f5e360c1

9
deps/Makefile vendored

@ -95,8 +95,9 @@ jemalloc: jemalloc/jemalloc/lib/libjemalloc.a
mariadb-client-library/mariadb_client/libmariadb/libmariadbclient.a: libssl/openssl/libssl.a
cd mariadb-client-library && rm -rf mariadb-connector-c-3.0.2-src
cd mariadb-client-library && tar -zxf mariadb-connector-c-3.0.2-src.tar.gz
cd mariadb-client-library && rm -rf mariadb-connector-c-3.1.4-src
cd mariadb-client-library && tar -zxf mariadb-connector-c-3.1.4-src.tar.gz
cd mariadb-client-library/mariadb_client && patch ./plugins/auth/CMakeLists.txt < ../plugin_auth_CMakeLists.txt.patch
cd mariadb-client-library/mariadb_client && cmake . -DOPENSSL_ROOT_DIR=$(shell pwd)/libssl/openssl/ -DOPENSSL_LIBRARIES=$(shell pwd)/libssl/openssl/ .
# cd mariadb-client-library/mariadb_client && cmake . -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl # this is needed on MacOSX
cd mariadb-client-library/mariadb_client && patch libmariadb/mariadb_stmt.c < ../mariadb_stmt.c.patch
@ -109,7 +110,7 @@ mariadb-client-library/mariadb_client/libmariadb/libmariadbclient.a: libssl/open
cd mariadb-client-library/mariadb_client && patch include/mariadb_com.h < ../mariadb_com.h.patch
cd mariadb-client-library/mariadb_client && patch libmariadb/ma_alloc.c < ../ma_alloc.c.patch
cd mariadb-client-library/mariadb_client && patch libmariadb/ma_charset.c < ../ma_charset.c.patch
cd mariadb-client-library/mariadb_client && patch libmariadb/ma_pvio.c < ../ma_pvio.c.patch
# cd mariadb-client-library/mariadb_client && patch libmariadb/ma_pvio.c < ../ma_pvio.c.patch
cd mariadb-client-library/mariadb_client && patch unittest/libmariadb/basic-t.c < ../unittest_basic-t.c.patch
cd mariadb-client-library/mariadb_client && patch unittest/libmariadb/charset.c < ../unittest_charset.c.patch
cd mariadb-client-library/mariadb_client && CC=${CC} CXX=${CXX} ${MAKE} mariadbclient
@ -156,6 +157,7 @@ pcre: pcre/pcre/.libs/libpcre.a
cleanpart:
cd mariadb-client-library && rm -rf mariadb-connector-c-2.3.1
cd mariadb-client-library && rm -rf mariadb-connector-c-3.0.2-src
cd mariadb-client-library && rm -rf mariadb-connector-c-3.1.4-src
cd jemalloc && rm -rf jemalloc-4.2.1
cd sqlite3/sqlite3 && rm -rf *
.PHONY: cleanpart
@ -166,6 +168,7 @@ cleanall:
cd jemalloc && rm -rf jemalloc-5.2.0 || true
cd mariadb-client-library && rm -rf mariadb-connector-c-2.3.1
cd mariadb-client-library && rm -rf mariadb-connector-c-3.0.2-src
cd mariadb-client-library && rm -rf mariadb-connector-c-3.1.4-src
cd libconfig && rm -rf libconfig-1.4.9
cd re2 && rm -rf re2-2018-07-01
cd pcre && rm -rf pcre-8.39

@ -1,4 +1,4 @@
@@ -679,7 +679,7 @@
@@ -720,7 +720,7 @@
{ 182, 1, "utf32", "utf32_unicode_520_ci", "", 0, "UTF32", 4, 4, mysql_mbcharlen_utf32, check_mb_utf32},
{ 183, 1, "utf32", "utf32_vietnamese_ci", "", 0, "UTF32", 4, 4, mysql_mbcharlen_utf32, check_mb_utf32},
@ -7,11 +7,3 @@
{ 193, 1, UTF8_MB3, UTF8_MB3"_icelandic_ci", "", 65001, "UTF-8", 1, 3, mysql_mbcharlen_utf8mb3, check_mb_utf8mb3_valid},
{ 194, 1, UTF8_MB3, UTF8_MB3"_latvian_ci", "", 65001, "UTF-8", 1, 3, mysql_mbcharlen_utf8mb3, check_mb_utf8mb3_valid},
{ 195, 1, UTF8_MB3, UTF8_MB3"_romanian_ci", "", 65001, "UTF-8", 1, 3, mysql_mbcharlen_utf8mb3, check_mb_utf8mb3_valid},
@@ -732,6 +732,7 @@
{ 247, 1, UTF8_MB4, UTF8_MB4"_vietnamese_ci", "", 65001, "UTF-8", 1, 4, mysql_mbcharlen_utf8, check_mb_utf8_valid},
{ 254, 1, UTF8_MB3, UTF8_MB3"_general_cs", "", 65001, "UTF-8", 1, 3, mysql_mbcharlen_utf8, check_mb_utf8_valid},
+ { 255, 1, UTF8_MB4, UTF8_MB4"_0900_ai_ci", "", 65001, "UTF-8", 1, 4, mysql_mbcharlen_utf8, check_mb_utf8_valid},
{ 576, 1, UTF8_MB3, UTF8_MB3"_croatian_ci", "", 65001, "UTF-8", 1, 3, mysql_mbcharlen_utf8mb3, check_mb_utf8mb3_valid}, /*MDB*/
{ 577, 1, UTF8_MB3, UTF8_MB3"_myanmar_ci", "", 65001, "UTF-8", 1, 3, mysql_mbcharlen_utf8mb3, check_mb_utf8mb3_valid}, /*MDB*/
{ 578, 1, UTF8_MB3, UTF8_MB3"_thai_520_w2", "", 65001, "UTF-8", 1, 3, mysql_mbcharlen_utf8mb3, check_mb_utf8mb3_valid}, /*MDB*/

@ -1,4 +1,4 @@
@@ -105,6 +105,35 @@
@@ -98,6 +98,35 @@
}
}
@ -34,7 +34,7 @@
void ma_scramble_41(const unsigned char *buffer, const char *scramble, const char *password)
{
_MA_SHA1_CTX context;
@@ -112,10 +141,15 @@
@@ -105,10 +134,15 @@
unsigned char sha2[SHA1_MAX_LENGTH];

@ -1 +1 @@
mariadb-connector-c-3.0.2-src
mariadb-connector-c-3.1.4-src

@ -1,6 +1,4 @@
--- include/mariadb_com.h.old 2019-08-16 10:31:33.982265001 +0000
+++ include/mariadb_com.h 2019-08-16 10:32:03.048790998 +0000
@@ -206,8 +206,6 @@
@@ -207,8 +207,6 @@
CLIENT_LONG_FLAG |\
CLIENT_TRANSACTIONS |\
CLIENT_SECURE_CONNECTION |\

@ -1,4 +1,4 @@
@@ -1494,9 +1494,16 @@
@@ -1515,9 +1515,16 @@
mysql->client_flag= client_flag;
@ -15,7 +15,7 @@
if (mysql->client_flag & CLIENT_COMPRESS)
net->compress= 1;
@@ -1625,7 +1632,7 @@
@@ -1647,7 +1654,7 @@
if (!mysql_real_connect(&tmp_mysql,mysql->host,mysql->user,mysql->passwd,
mysql->db, mysql->port, mysql->unix_socket,
mysql->client_flag | CLIENT_REMEMBER_OPTIONS) ||
@ -24,7 +24,7 @@
{
if (ctxt)
my_context_install_suspend_resume_hook(ctxt, NULL, NULL);
@@ -1671,6 +1678,7 @@
@@ -1693,6 +1700,7 @@
{
if (mysql->stmts)
{
@ -32,7 +32,7 @@
LIST *li_stmt= mysql->stmts;
for (; li_stmt; li_stmt= li_stmt->next)
@@ -1679,6 +1687,7 @@
@@ -1701,6 +1709,7 @@
stmt->mysql= NULL;
SET_CLIENT_STMT_ERROR(stmt, CR_STMT_CLOSED, SQLSTATE_UNKNOWN, function_name);
}
@ -40,7 +40,7 @@
mysql->stmts= NULL;
}
}
@@ -1948,6 +1957,33 @@
@@ -1970,6 +1979,33 @@
return;
}
@ -74,16 +74,16 @@
/**************************************************************************
** Do a query. If query returned rows, free old rows.
@@ -2028,6 +2064,8 @@
old_pos= pos;
si_type= (enum enum_session_state_type)net_field_length(&pos);
switch(si_type) {
+ case SESSION_TRACK_GTIDS:
+ net_field_length(&pos); /* skip encoding */
case SESSION_TRACK_SCHEMA:
case SESSION_TRACK_STATE_CHANGE:
case SESSION_TRACK_TRANSACTION_CHARACTERISTICS:
@@ -3425,18 +3463,27 @@
@@ -2036,6 +2072,8 @@
old_pos= pos;
si_type= (enum enum_session_state_type)net_field_length(&pos);
switch(si_type) {
+ case SESSION_TRACK_GTIDS:
+ net_field_length(&pos); /* skip encoding */
case SESSION_TRACK_SCHEMA:
case SESSION_TRACK_STATE_CHANGE:
case SESSION_TRACK_TRANSACTION_CHARACTERISTICS:
@@ -3474,18 +3512,27 @@
mariadb_get_charset_info(mysql, cs);
}

@ -1,4 +1,4 @@
@@ -124,6 +124,7 @@
@@ -133,6 +133,7 @@
case MYSQL_TYPE_TIMESTAMP:
case MYSQL_TYPE_TINY:
case MYSQL_TYPE_TINY_BLOB:
@ -6,7 +6,7 @@
case MYSQL_TYPE_VAR_STRING:
case MYSQL_TYPE_YEAR:
return 1;
@@ -1143,6 +1144,7 @@
@@ -1231,6 +1232,7 @@
break;
case MYSQL_TYPE_STRING:
case MYSQL_TYPE_JSON:

@ -1,13 +1,13 @@
@@ -490,7 +490,7 @@
@@ -492,7 +492,7 @@
unsigned long STDCALL mysql_thread_id(MYSQL *mysql);
const char * STDCALL mysql_character_set_name(MYSQL *mysql);
void STDCALL mysql_get_character_set_info(MYSQL *mysql, MY_CHARSET_INFO *cs);
-int STDCALL mysql_set_character_set(MYSQL *mysql, const char *csname);
+int STDCALL mysql_set_character_set(MYSQL *mysql, const char *csname, uint charsetnr);
my_bool STDCALL mariadb_get_infov(MYSQL *mysql, enum mariadb_value value, void *arg, ...);
my_bool mariadb_get_infov(MYSQL *mysql, enum mariadb_value value, void *arg, ...);
my_bool STDCALL mariadb_get_info(MYSQL *mysql, enum mariadb_value value, void *arg);
@@ -509,6 +509,7 @@
@@ -511,6 +511,7 @@
const char *unix_socket,
unsigned long clientflag);
void STDCALL mysql_close(MYSQL *sock);
@ -15,7 +15,7 @@
int STDCALL mysql_select_db(MYSQL *mysql, const char *db);
int STDCALL mysql_query(MYSQL *mysql, const char *q);
int STDCALL mysql_send_query(MYSQL *mysql, const char *q,
@@ -608,7 +609,7 @@
@@ -610,7 +611,7 @@
int STDCALL mysql_stmt_next_result_cont(int *ret, MYSQL_STMT *stmt, int status);
int STDCALL mysql_set_character_set_start(int *ret, MYSQL *mysql,

@ -0,0 +1,28 @@
--- /tmp/CMakeLists.txt 2019-11-12 10:34:39.913735922 +1100
+++ ./plugins/auth/CMakeLists.txt 2019-11-12 10:35:51.642093480 +1100
@@ -70,7 +70,7 @@
REGISTER_PLUGIN(TARGET caching_sha2_password
TYPE MARIADB_CLIENT_PLUGIN_AUTH
CONFIGURATIONS DYNAMIC STATIC OFF
- DEFAULT DYNAMIC
+ DEFAULT STATIC
SOURCES ${CC_SOURCE_DIR}/plugins/auth/caching_sha2_pw.c
${CRYPT_SOURCE}
LIBRARIES ${CRYPT_LIBS})
@@ -81,7 +81,7 @@
REGISTER_PLUGIN(TARGET sha256_password
TYPE MARIADB_CLIENT_PLUGIN_AUTH
CONFIGURATIONS DYNAMIC STATIC OFF
- DEFAULT DYNAMIC
+ DEFAULT STATIC
SOURCES ${AUTH_DIR}/sha256_pw.c
LIBRARIES ${CRYT_LIBS})
ENDIF()
@@ -123,6 +123,6 @@
REGISTER_PLUGIN(TARGET mysql_clear_password
TYPE MARIADB_CLIENT_PLUGIN_AUTH
CONFIGURATIONS DYNAMIC STATIC OFF
- DEFAULT DYNAMIC
+ DEFAULT STATIC
SOURCES ${AUTH_DIR}/mariadb_cleartext.c)

@ -1,5 +1,3 @@
--- /tmp/charset.c 2017-12-28 14:58:14.174281738 +0100
+++ unittest/libmariadb/charset.c 2017-12-28 14:59:53.510120540 +0100
@@ -74,12 +74,12 @@
char *csname= (char*) "utf8";
char *csdefault= (char*)mysql_character_set_name(mysql);
@ -15,7 +13,7 @@
return OK;
}
@@ -542,7 +542,7 @@
@@ -543,7 +543,7 @@
}
/* Retrieve character set information. */
@ -24,7 +22,7 @@
bug30472_retrieve_charset_info(mysql,
character_set_name_1,
character_set_client_1,
@@ -551,7 +551,7 @@
@@ -552,7 +552,7 @@
/* Switch client character set. */
@ -33,7 +31,7 @@
/* Retrieve character set information. */
@@ -581,7 +581,7 @@
@@ -582,7 +582,7 @@
/* Call mysql_change_user() with the same username, password, database. */
rc= mysql_change_user(mysql, username, password, (schema) ? schema : "test");
@ -42,7 +40,7 @@
check_mysql_rc(rc, mysql);
/* Retrieve character set information. */
@@ -647,7 +647,7 @@
@@ -648,7 +648,7 @@
/* ignore ucs2 */
if (strcmp(row[0], "ucs2") && strcmp(row[0], "utf16le") && strcmp(row[0], "utf8mb4") &&
strcmp(row[0], "utf16") && strcmp(row[0], "utf32")) {
@ -51,7 +49,7 @@
check_mysql_rc(rc, mysql);
}
}
@@ -748,7 +748,7 @@
@@ -749,7 +749,7 @@
if (strcmp(osname, "utf8"))
{
@ -60,7 +58,7 @@
check_mysql_rc(rc, mysql);
csname2= mysql_character_set_name(mysql);
@@ -756,7 +756,7 @@
@@ -757,7 +757,7 @@
FAIL_IF(!strcmp(csname2, csname1), "Wrong charset: expected utf8");

@ -38,7 +38,7 @@ static unsigned int near_pow_2 (unsigned int n) {
}
#ifdef IDLE_THREADS
typedef struct __attribute__((aligned(CACHE_LINE_SIZE))) _conn_exchange_t {
typedef struct __attribute__((aligned(64))) _conn_exchange_t {
pthread_mutex_t mutex_idles;
PtrArray *idle_mysql_sessions;
pthread_mutex_t mutex_resumes;

@ -468,6 +468,7 @@ void ProxySQL_Main_init_SSL_module() {
proxy_error("%s\n", SSL_alert_desc_string_long(rc));
}
init_locks();
proxy_info("Using OpenSSL version: %s\n", OpenSSL_version(OPENSSL_VERSION));
SSL_METHOD *ssl_method;
OpenSSL_add_all_algorithms();
SSL_load_error_strings();

Loading…
Cancel
Save