summaryrefslogtreecommitdiff
path: root/storage/spider/spd_conn.cc
diff options
context:
space:
mode:
authorKentoku SHIBA <kentokushiba@gmail.com>2020-03-22 09:36:37 +0900
committerKentoku SHIBA <kentokushiba@gmail.com>2020-06-05 17:30:01 +0900
commit793b84b817cdcb0a7d643b7e9fb1e3601fcb225b (patch)
tree865a0630101acff21c15979d4e0a4bda4ddf85a7 /storage/spider/spd_conn.cc
parent932baa9410e6e9ac4cd1404a496fac276c3555c1 (diff)
downloadmariadb-git-793b84b817cdcb0a7d643b7e9fb1e3601fcb225b.tar.gz
add a table parameter "dsn" to Spider
Diffstat (limited to 'storage/spider/spd_conn.cc')
-rw-r--r--storage/spider/spd_conn.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/storage/spider/spd_conn.cc b/storage/spider/spd_conn.cc
index 11cb46de985..100fe922825 100644
--- a/storage/spider/spd_conn.cc
+++ b/storage/spider/spd_conn.cc
@@ -566,6 +566,7 @@ SPIDER_CONN *spider_create_conn(
char *tmp_name, *tmp_host, *tmp_username, *tmp_password, *tmp_socket;
char *tmp_wrapper, *tmp_db, *tmp_ssl_ca, *tmp_ssl_capath, *tmp_ssl_cert;
char *tmp_ssl_cipher, *tmp_ssl_key, *tmp_default_file, *tmp_default_group;
+ char *tmp_dsn;
DBUG_ENTER("spider_create_conn");
if (unlikely(!UTC))
@@ -615,6 +616,8 @@ SPIDER_CONN *spider_create_conn(
(uint) (share->tgt_default_files_lengths[link_idx] + 1),
&tmp_default_group,
(uint) (share->tgt_default_groups_lengths[link_idx] + 1),
+ &tmp_dsn,
+ (uint) (share->tgt_dsns_lengths[link_idx] + 1),
&need_mon, (uint) (sizeof(int)),
NullS))
) {
@@ -714,6 +717,15 @@ SPIDER_CONN *spider_create_conn(
share->tgt_default_groups_lengths[link_idx]);
} else
conn->tgt_default_group = NULL;
+ conn->tgt_dsn_length =
+ share->tgt_dsns_lengths[link_idx];
+ if (conn->tgt_dsn_length)
+ {
+ conn->tgt_dsn = tmp_dsn;
+ memcpy(conn->tgt_dsn, share->tgt_dsns[link_idx],
+ share->tgt_dsns_lengths[link_idx]);
+ } else
+ conn->tgt_dsn = NULL;
conn->tgt_port = share->tgt_ports[link_idx];
conn->tgt_ssl_vsc = share->tgt_ssl_vscs[link_idx];
conn->dbton_id = share->sql_dbton_ids[link_idx];