summaryrefslogtreecommitdiff
path: root/storage/spider/spd_trx.cc
diff options
context:
space:
mode:
Diffstat (limited to 'storage/spider/spd_trx.cc')
-rw-r--r--storage/spider/spd_trx.cc232
1 files changed, 132 insertions, 100 deletions
diff --git a/storage/spider/spd_trx.cc b/storage/spider/spd_trx.cc
index 85b2cdb8a27..8e1257bad21 100644
--- a/storage/spider/spd_trx.cc
+++ b/storage/spider/spd_trx.cc
@@ -625,103 +625,136 @@ int spider_create_trx_alter_table(
alter_table->tmp_tgt_drivers_lengths = tmp_tgt_drivers_lengths;
alter_table->tmp_static_link_ids_lengths = tmp_static_link_ids_lengths;
+ size_t len;
for(roop_count = 0; roop_count < (int) share->all_link_count; roop_count++)
{
- tmp_server_names[roop_count] = tmp_server_names_char;
- memcpy(tmp_server_names_char,
- share_alter->tmp_server_names[roop_count],
- sizeof(char) * share_alter->tmp_server_names_lengths[roop_count]);
- tmp_server_names_char +=
- share_alter->tmp_server_names_lengths[roop_count] + 1;
-
- tmp_tgt_table_names[roop_count] = tmp_tgt_table_names_char;
- memcpy(tmp_tgt_table_names_char,
- share_alter->tmp_tgt_table_names[roop_count],
- sizeof(char) * share_alter->tmp_tgt_table_names_lengths[roop_count]);
- tmp_tgt_table_names_char +=
- share_alter->tmp_tgt_table_names_lengths[roop_count] + 1;
-
- tmp_tgt_dbs[roop_count] = tmp_tgt_dbs_char;
- memcpy(tmp_tgt_dbs_char, share_alter->tmp_tgt_dbs[roop_count],
- sizeof(char) * share_alter->tmp_tgt_dbs_lengths[roop_count]);
- tmp_tgt_dbs_char +=
- share_alter->tmp_tgt_dbs_lengths[roop_count] + 1;
-
- tmp_tgt_hosts[roop_count] = tmp_tgt_hosts_char;
- memcpy(tmp_tgt_hosts_char, share_alter->tmp_tgt_hosts[roop_count],
- sizeof(char) * share_alter->tmp_tgt_hosts_lengths[roop_count]);
- tmp_tgt_hosts_char +=
- share_alter->tmp_tgt_hosts_lengths[roop_count] + 1;
-
- tmp_tgt_usernames[roop_count] = tmp_tgt_usernames_char;
- memcpy(tmp_tgt_usernames_char, share_alter->tmp_tgt_usernames[roop_count],
- sizeof(char) * share_alter->tmp_tgt_usernames_lengths[roop_count]);
- tmp_tgt_usernames_char +=
- share_alter->tmp_tgt_usernames_lengths[roop_count] + 1;
-
- tmp_tgt_passwords[roop_count] = tmp_tgt_passwords_char;
- memcpy(tmp_tgt_passwords_char, share_alter->tmp_tgt_passwords[roop_count],
- sizeof(char) * share_alter->tmp_tgt_passwords_lengths[roop_count]);
- tmp_tgt_passwords_char +=
- share_alter->tmp_tgt_passwords_lengths[roop_count] + 1;
-
- tmp_tgt_sockets[roop_count] = tmp_tgt_sockets_char;
- memcpy(tmp_tgt_sockets_char, share_alter->tmp_tgt_sockets[roop_count],
- sizeof(char) * share_alter->tmp_tgt_sockets_lengths[roop_count]);
- tmp_tgt_sockets_char +=
- share_alter->tmp_tgt_sockets_lengths[roop_count] + 1;
-
- tmp_tgt_wrappers[roop_count] = tmp_tgt_wrappers_char;
- memcpy(tmp_tgt_wrappers_char, share_alter->tmp_tgt_wrappers[roop_count],
- sizeof(char) * share_alter->tmp_tgt_wrappers_lengths[roop_count]);
- tmp_tgt_wrappers_char +=
- share_alter->tmp_tgt_wrappers_lengths[roop_count] + 1;
-
- tmp_tgt_ssl_cas[roop_count] = tmp_tgt_ssl_cas_char;
- memcpy(tmp_tgt_ssl_cas_char, share_alter->tmp_tgt_ssl_cas[roop_count],
- sizeof(char) * share_alter->tmp_tgt_ssl_cas_lengths[roop_count]);
- tmp_tgt_ssl_cas_char +=
- share_alter->tmp_tgt_ssl_cas_lengths[roop_count] + 1;
-
- tmp_tgt_ssl_capaths[roop_count] = tmp_tgt_ssl_capaths_char;
- memcpy(tmp_tgt_ssl_capaths_char,
- share_alter->tmp_tgt_ssl_capaths[roop_count],
- sizeof(char) * share_alter->tmp_tgt_ssl_capaths_lengths[roop_count]);
- tmp_tgt_ssl_capaths_char +=
- share_alter->tmp_tgt_ssl_capaths_lengths[roop_count] + 1;
-
- tmp_tgt_ssl_certs[roop_count] = tmp_tgt_ssl_certs_char;
- memcpy(tmp_tgt_ssl_certs_char, share_alter->tmp_tgt_ssl_certs[roop_count],
- sizeof(char) * share_alter->tmp_tgt_ssl_certs_lengths[roop_count]);
- tmp_tgt_ssl_certs_char +=
- share_alter->tmp_tgt_ssl_certs_lengths[roop_count] + 1;
-
- tmp_tgt_ssl_ciphers[roop_count] = tmp_tgt_ssl_ciphers_char;
- memcpy(tmp_tgt_ssl_ciphers_char,
- share_alter->tmp_tgt_ssl_ciphers[roop_count],
- sizeof(char) * share_alter->tmp_tgt_ssl_ciphers_lengths[roop_count]);
- tmp_tgt_ssl_ciphers_char +=
- share_alter->tmp_tgt_ssl_ciphers_lengths[roop_count] + 1;
-
- tmp_tgt_ssl_keys[roop_count] = tmp_tgt_ssl_keys_char;
- memcpy(tmp_tgt_ssl_keys_char, share_alter->tmp_tgt_ssl_keys[roop_count],
- sizeof(char) * share_alter->tmp_tgt_ssl_keys_lengths[roop_count]);
- tmp_tgt_ssl_keys_char +=
- share_alter->tmp_tgt_ssl_keys_lengths[roop_count] + 1;
-
- tmp_tgt_default_files[roop_count] = tmp_tgt_default_files_char;
- memcpy(tmp_tgt_default_files_char,
- share_alter->tmp_tgt_default_files[roop_count],
- sizeof(char) * share_alter->tmp_tgt_default_files_lengths[roop_count]);
- tmp_tgt_default_files_char +=
- share_alter->tmp_tgt_default_files_lengths[roop_count] + 1;
-
- tmp_tgt_default_groups[roop_count] = tmp_tgt_default_groups_char;
- memcpy(tmp_tgt_default_groups_char,
- share_alter->tmp_tgt_default_groups[roop_count],
- sizeof(char) * share_alter->tmp_tgt_default_groups_lengths[roop_count]);
- tmp_tgt_default_groups_char +=
- share_alter->tmp_tgt_default_groups_lengths[roop_count] + 1;
+ if ((len=
+ sizeof(char) * share_alter->tmp_server_names_lengths[roop_count]))
+ {
+ tmp_server_names[roop_count]= tmp_server_names_char;
+ memcpy(tmp_server_names_char, share_alter->tmp_server_names[roop_count],
+ len);
+ tmp_server_names_char+= len + 1;
+ }
+
+ if ((len= sizeof(char) *
+ share_alter->tmp_tgt_table_names_lengths[roop_count]))
+ {
+ tmp_tgt_table_names[roop_count]= tmp_tgt_table_names_char;
+ memcpy(tmp_tgt_table_names_char,
+ share_alter->tmp_tgt_table_names[roop_count], len);
+ tmp_tgt_table_names_char+= len + 1;
+ }
+
+ if ((len= sizeof(char) * share_alter->tmp_tgt_dbs_lengths[roop_count]))
+ {
+ tmp_tgt_dbs[roop_count]= tmp_tgt_dbs_char;
+ memcpy(tmp_tgt_dbs_char, share_alter->tmp_tgt_dbs[roop_count], len);
+ tmp_tgt_dbs_char+= len + 1;
+ }
+
+ if ((len= sizeof(char) * share_alter->tmp_tgt_hosts_lengths[roop_count]))
+ {
+ tmp_tgt_hosts[roop_count]= tmp_tgt_hosts_char;
+ memcpy(tmp_tgt_hosts_char, share_alter->tmp_tgt_hosts[roop_count], len);
+ tmp_tgt_hosts_char+= len + 1;
+ }
+
+ if ((len= sizeof(char) *
+ share_alter->tmp_tgt_usernames_lengths[roop_count]))
+ {
+ tmp_tgt_usernames[roop_count]= tmp_tgt_usernames_char;
+ memcpy(tmp_tgt_usernames_char,
+ share_alter->tmp_tgt_usernames[roop_count], len);
+ tmp_tgt_usernames_char+= len + 1;
+ }
+
+ if ((len= sizeof(char) *
+ share_alter->tmp_tgt_passwords_lengths[roop_count]))
+ {
+ tmp_tgt_passwords[roop_count]= tmp_tgt_passwords_char;
+ memcpy(tmp_tgt_passwords_char,
+ share_alter->tmp_tgt_passwords[roop_count], len);
+ tmp_tgt_passwords_char+= len + 1;
+ }
+
+ if ((len= sizeof(char) * share_alter->tmp_tgt_sockets_lengths[roop_count]))
+ {
+ tmp_tgt_sockets[roop_count]= tmp_tgt_sockets_char;
+ memcpy(tmp_tgt_sockets_char, share_alter->tmp_tgt_sockets[roop_count],
+ len);
+ tmp_tgt_sockets_char+= len + 1;
+ }
+
+ if ((len=
+ sizeof(char) * share_alter->tmp_tgt_wrappers_lengths[roop_count]))
+ {
+ tmp_tgt_wrappers[roop_count]= tmp_tgt_wrappers_char;
+ memcpy(tmp_tgt_wrappers_char, share_alter->tmp_tgt_wrappers[roop_count],
+ len);
+ tmp_tgt_wrappers_char+= len + 1;
+ }
+
+ if ((len= sizeof(char) * share_alter->tmp_tgt_ssl_cas_lengths[roop_count]))
+ {
+ tmp_tgt_ssl_cas[roop_count]= tmp_tgt_ssl_cas_char;
+ memcpy(tmp_tgt_ssl_cas_char, share_alter->tmp_tgt_ssl_cas[roop_count],
+ len);
+ tmp_tgt_ssl_cas_char+= len + 1;
+ }
+
+ if ((len= sizeof(char) *
+ share_alter->tmp_tgt_ssl_capaths_lengths[roop_count]))
+ {
+ tmp_tgt_ssl_capaths[roop_count]= tmp_tgt_ssl_capaths_char;
+ memcpy(tmp_tgt_ssl_capaths_char,
+ share_alter->tmp_tgt_ssl_capaths[roop_count], len);
+ tmp_tgt_ssl_capaths_char+= len + 1;
+ }
+
+ if ((len= sizeof(char) *
+ share_alter->tmp_tgt_ssl_certs_lengths[roop_count]))
+ {
+ tmp_tgt_ssl_certs[roop_count]= tmp_tgt_ssl_certs_char;
+ memcpy(tmp_tgt_ssl_certs_char,
+ share_alter->tmp_tgt_ssl_certs[roop_count], len);
+ tmp_tgt_ssl_certs_char+= len + 1;
+ }
+
+ if ((len= sizeof(char) *
+ share_alter->tmp_tgt_ssl_ciphers_lengths[roop_count]))
+ {
+ tmp_tgt_ssl_ciphers[roop_count]= tmp_tgt_ssl_ciphers_char;
+ memcpy(tmp_tgt_ssl_ciphers_char,
+ share_alter->tmp_tgt_ssl_ciphers[roop_count], len);
+ tmp_tgt_ssl_ciphers_char+= len + 1;
+ }
+
+ if ((len= sizeof(char) * share_alter->tmp_tgt_ssl_keys_lengths[roop_count]))
+ {
+ tmp_tgt_ssl_keys[roop_count]= tmp_tgt_ssl_keys_char;
+ memcpy(tmp_tgt_ssl_keys_char, share_alter->tmp_tgt_ssl_keys[roop_count],
+ len);
+ tmp_tgt_ssl_keys_char+= len + 1;
+ }
+
+ if ((len= sizeof(char) *
+ share_alter->tmp_tgt_default_files_lengths[roop_count]))
+ {
+ tmp_tgt_default_files[roop_count]= tmp_tgt_default_files_char;
+ memcpy(tmp_tgt_default_files_char,
+ share_alter->tmp_tgt_default_files[roop_count], len);
+ tmp_tgt_default_files_char+= len + 1;
+ }
+
+ if ((len= sizeof(char) *
+ share_alter->tmp_tgt_default_groups_lengths[roop_count]))
+ {
+ tmp_tgt_default_groups[roop_count]= tmp_tgt_default_groups_char;
+ memcpy(tmp_tgt_default_groups_char,
+ share_alter->tmp_tgt_default_groups[roop_count], len);
+ tmp_tgt_default_groups_char+= len + 1;
+ }
tmp_tgt_dsns[roop_count] = tmp_tgt_dsns_char;
memcpy(tmp_tgt_dsns_char, share_alter->tmp_tgt_dsns[roop_count],
@@ -741,14 +774,13 @@ int spider_create_trx_alter_table(
tmp_tgt_drivers_char +=
share_alter->tmp_tgt_drivers_lengths[roop_count] + 1;
- if (share_alter->tmp_static_link_ids[roop_count])
+ if ((len= sizeof(char) *
+ share_alter->tmp_static_link_ids_lengths[roop_count]))
{
tmp_static_link_ids[roop_count] = tmp_static_link_ids_char;
memcpy(tmp_static_link_ids_char,
- share_alter->tmp_static_link_ids[roop_count],
- sizeof(char) * share_alter->tmp_static_link_ids_lengths[roop_count]);
- tmp_static_link_ids_char +=
- share_alter->tmp_static_link_ids_lengths[roop_count] + 1;
+ share_alter->tmp_static_link_ids[roop_count], len);
+ tmp_static_link_ids_char += len + 1;
}
}