mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Merge 10.5 into 10.6
This commit is contained in:
@@ -435,6 +435,23 @@ int spider_udf_direct_sql_create_conn_key(
|
||||
DBUG_RETURN(0);
|
||||
}
|
||||
|
||||
static inline void spider_maybe_memcpy_string(
|
||||
char **dest,
|
||||
char *src,
|
||||
char *tmp,
|
||||
uint *dest_len,
|
||||
uint src_len)
|
||||
{
|
||||
*dest_len= src_len;
|
||||
if (src_len)
|
||||
{
|
||||
*dest= tmp;
|
||||
memcpy(*dest, src, src_len);
|
||||
} else
|
||||
*dest= NULL;
|
||||
}
|
||||
|
||||
|
||||
SPIDER_CONN *spider_udf_direct_sql_create_conn(
|
||||
const SPIDER_DIRECT_SQL *direct_sql,
|
||||
int *error_num
|
||||
@@ -530,105 +547,49 @@ SPIDER_CONN *spider_udf_direct_sql_create_conn(
|
||||
{
|
||||
#endif
|
||||
conn->tgt_port = direct_sql->tgt_port;
|
||||
conn->tgt_socket_length = direct_sql->tgt_socket_length;
|
||||
conn->tgt_socket = tmp_socket;
|
||||
memcpy(conn->tgt_socket, direct_sql->tgt_socket,
|
||||
direct_sql->tgt_socket_length);
|
||||
spider_maybe_memcpy_string(
|
||||
&conn->tgt_socket, direct_sql->tgt_socket, tmp_socket,
|
||||
&conn->tgt_socket_length, direct_sql->tgt_socket_length);
|
||||
if (!tables_on_different_db_are_joinable)
|
||||
{
|
||||
conn->tgt_db_length = direct_sql->tgt_default_db_name_length;
|
||||
conn->tgt_db = tmp_db;
|
||||
memcpy(conn->tgt_db, direct_sql->tgt_default_db_name,
|
||||
direct_sql->tgt_default_db_name_length);
|
||||
}
|
||||
conn->tgt_username_length = direct_sql->tgt_username_length;
|
||||
conn->tgt_username = tmp_username;
|
||||
memcpy(conn->tgt_username, direct_sql->tgt_username,
|
||||
direct_sql->tgt_username_length);
|
||||
conn->tgt_password_length = direct_sql->tgt_password_length;
|
||||
conn->tgt_password = tmp_password;
|
||||
memcpy(conn->tgt_password, direct_sql->tgt_password,
|
||||
direct_sql->tgt_password_length);
|
||||
conn->tgt_ssl_ca_length = direct_sql->tgt_ssl_ca_length;
|
||||
if (conn->tgt_ssl_ca_length)
|
||||
{
|
||||
conn->tgt_ssl_ca = tmp_ssl_ca;
|
||||
memcpy(conn->tgt_ssl_ca, direct_sql->tgt_ssl_ca,
|
||||
direct_sql->tgt_ssl_ca_length);
|
||||
} else
|
||||
conn->tgt_ssl_ca = NULL;
|
||||
conn->tgt_ssl_capath_length = direct_sql->tgt_ssl_capath_length;
|
||||
if (conn->tgt_ssl_capath_length)
|
||||
{
|
||||
conn->tgt_ssl_capath = tmp_ssl_capath;
|
||||
memcpy(conn->tgt_ssl_capath, direct_sql->tgt_ssl_capath,
|
||||
direct_sql->tgt_ssl_capath_length);
|
||||
} else
|
||||
conn->tgt_ssl_capath = NULL;
|
||||
conn->tgt_ssl_cert_length = direct_sql->tgt_ssl_cert_length;
|
||||
if (conn->tgt_ssl_cert_length)
|
||||
{
|
||||
conn->tgt_ssl_cert = tmp_ssl_cert;
|
||||
memcpy(conn->tgt_ssl_cert, direct_sql->tgt_ssl_cert,
|
||||
direct_sql->tgt_ssl_cert_length);
|
||||
} else
|
||||
conn->tgt_ssl_cert = NULL;
|
||||
conn->tgt_ssl_cipher_length = direct_sql->tgt_ssl_cipher_length;
|
||||
if (conn->tgt_ssl_cipher_length)
|
||||
{
|
||||
conn->tgt_ssl_cipher = tmp_ssl_cipher;
|
||||
memcpy(conn->tgt_ssl_cipher, direct_sql->tgt_ssl_cipher,
|
||||
direct_sql->tgt_ssl_cipher_length);
|
||||
} else
|
||||
conn->tgt_ssl_cipher = NULL;
|
||||
conn->tgt_ssl_key_length = direct_sql->tgt_ssl_key_length;
|
||||
if (conn->tgt_ssl_key_length)
|
||||
{
|
||||
conn->tgt_ssl_key = tmp_ssl_key;
|
||||
memcpy(conn->tgt_ssl_key, direct_sql->tgt_ssl_key,
|
||||
direct_sql->tgt_ssl_key_length);
|
||||
} else
|
||||
conn->tgt_ssl_key = NULL;
|
||||
conn->tgt_default_file_length = direct_sql->tgt_default_file_length;
|
||||
if (conn->tgt_default_file_length)
|
||||
{
|
||||
conn->tgt_default_file = tmp_default_file;
|
||||
memcpy(conn->tgt_default_file, direct_sql->tgt_default_file,
|
||||
direct_sql->tgt_default_file_length);
|
||||
} else
|
||||
conn->tgt_default_file = NULL;
|
||||
conn->tgt_default_group_length = direct_sql->tgt_default_group_length;
|
||||
if (conn->tgt_default_group_length)
|
||||
{
|
||||
conn->tgt_default_group = tmp_default_group;
|
||||
memcpy(conn->tgt_default_group, direct_sql->tgt_default_group,
|
||||
direct_sql->tgt_default_group_length);
|
||||
} else
|
||||
conn->tgt_default_group = NULL;
|
||||
conn->tgt_dsn_length = direct_sql->tgt_dsn_length;
|
||||
if (conn->tgt_dsn_length)
|
||||
{
|
||||
conn->tgt_dsn = tmp_dsn;
|
||||
memcpy(conn->tgt_dsn, direct_sql->tgt_dsn,
|
||||
direct_sql->tgt_dsn_length);
|
||||
} else
|
||||
conn->tgt_dsn = NULL;
|
||||
conn->tgt_filedsn_length = direct_sql->tgt_filedsn_length;
|
||||
if (conn->tgt_filedsn_length)
|
||||
{
|
||||
conn->tgt_filedsn = tmp_filedsn;
|
||||
memcpy(conn->tgt_filedsn, direct_sql->tgt_filedsn,
|
||||
direct_sql->tgt_filedsn_length);
|
||||
} else
|
||||
conn->tgt_filedsn = NULL;
|
||||
conn->tgt_driver_length = direct_sql->tgt_driver_length;
|
||||
if (conn->tgt_driver_length)
|
||||
{
|
||||
conn->tgt_driver = tmp_driver;
|
||||
memcpy(conn->tgt_driver, direct_sql->tgt_driver,
|
||||
direct_sql->tgt_driver_length);
|
||||
} else
|
||||
conn->tgt_driver = NULL;
|
||||
spider_maybe_memcpy_string(
|
||||
&conn->tgt_db, direct_sql->tgt_default_db_name, tmp_db,
|
||||
&conn->tgt_db_length, direct_sql->tgt_default_db_name_length);
|
||||
spider_maybe_memcpy_string(
|
||||
&conn->tgt_username, direct_sql->tgt_username, tmp_username,
|
||||
&conn->tgt_username_length, direct_sql->tgt_username_length);
|
||||
spider_maybe_memcpy_string(
|
||||
&conn->tgt_password, direct_sql->tgt_password, tmp_password,
|
||||
&conn->tgt_password_length, direct_sql->tgt_password_length);
|
||||
spider_maybe_memcpy_string(
|
||||
&conn->tgt_ssl_ca, direct_sql->tgt_ssl_ca, tmp_ssl_ca,
|
||||
&conn->tgt_ssl_ca_length, direct_sql->tgt_ssl_ca_length);
|
||||
spider_maybe_memcpy_string(
|
||||
&conn->tgt_ssl_capath, direct_sql->tgt_ssl_capath, tmp_ssl_capath,
|
||||
&conn->tgt_ssl_capath_length, direct_sql->tgt_ssl_capath_length);
|
||||
spider_maybe_memcpy_string(
|
||||
&conn->tgt_ssl_cert, direct_sql->tgt_ssl_cert, tmp_ssl_cert,
|
||||
&conn->tgt_ssl_cert_length, direct_sql->tgt_ssl_cert_length);
|
||||
spider_maybe_memcpy_string(
|
||||
&conn->tgt_ssl_cipher, direct_sql->tgt_ssl_cipher, tmp_ssl_cipher,
|
||||
&conn->tgt_ssl_cipher_length, direct_sql->tgt_ssl_cipher_length);
|
||||
spider_maybe_memcpy_string(
|
||||
&conn->tgt_ssl_key, direct_sql->tgt_ssl_key, tmp_ssl_key,
|
||||
&conn->tgt_ssl_key_length, direct_sql->tgt_ssl_key_length);
|
||||
spider_maybe_memcpy_string(
|
||||
&conn->tgt_default_file, direct_sql->tgt_default_file, tmp_default_file,
|
||||
&conn->tgt_default_file_length, direct_sql->tgt_default_file_length);
|
||||
spider_maybe_memcpy_string(
|
||||
&conn->tgt_default_group, direct_sql->tgt_default_group, tmp_default_group,
|
||||
&conn->tgt_default_group_length, direct_sql->tgt_default_group_length);
|
||||
spider_maybe_memcpy_string(
|
||||
&conn->tgt_dsn, direct_sql->tgt_dsn, tmp_dsn,
|
||||
&conn->tgt_dsn_length, direct_sql->tgt_dsn_length);
|
||||
spider_maybe_memcpy_string(
|
||||
&conn->tgt_filedsn, direct_sql->tgt_filedsn, tmp_filedsn,
|
||||
&conn->tgt_filedsn_length, direct_sql->tgt_filedsn_length);
|
||||
spider_maybe_memcpy_string(
|
||||
&conn->tgt_driver, direct_sql->tgt_driver, tmp_driver,
|
||||
&conn->tgt_driver_length, direct_sql->tgt_driver_length);
|
||||
conn->tgt_ssl_vsc = direct_sql->tgt_ssl_vsc;
|
||||
#if defined(HS_HAS_SQLCOM) && defined(HAVE_HANDLERSOCKET)
|
||||
} else {
|
||||
|
Reference in New Issue
Block a user