mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Manual merge from mysql-trunk.
Conflicts: - client/mysqltest.cc - mysql-test/collections/default.experimental - mysql-test/suite/rpl/t/disabled.def - sql/mysqld.cc - sql/opt_range.cc - sql/sp.cc - sql/sql_acl.cc - sql/sql_partition.cc - sql/sql_table.cc
This commit is contained in:
@ -146,10 +146,10 @@ void unregister_slave(THD* thd, bool only_mine, bool need_mutex)
|
||||
pthread_mutex_lock(&LOCK_slave_list);
|
||||
|
||||
SLAVE_INFO* old_si;
|
||||
if ((old_si = (SLAVE_INFO*)hash_search(&slave_list,
|
||||
(uchar*)&thd->server_id, 4)) &&
|
||||
if ((old_si = (SLAVE_INFO*)my_hash_search(&slave_list,
|
||||
(uchar*)&thd->server_id, 4)) &&
|
||||
(!only_mine || old_si->thd == thd))
|
||||
hash_delete(&slave_list, (uchar*)old_si);
|
||||
my_hash_delete(&slave_list, (uchar*)old_si);
|
||||
|
||||
if (need_mutex)
|
||||
pthread_mutex_unlock(&LOCK_slave_list);
|
||||
@ -221,17 +221,18 @@ extern "C" void slave_info_free(void *s)
|
||||
|
||||
void init_slave_list()
|
||||
{
|
||||
hash_init(&slave_list, system_charset_info, SLAVE_LIST_CHUNK, 0, 0,
|
||||
(hash_get_key) slave_list_key, (hash_free_key) slave_info_free, 0);
|
||||
my_hash_init(&slave_list, system_charset_info, SLAVE_LIST_CHUNK, 0, 0,
|
||||
(my_hash_get_key) slave_list_key,
|
||||
(my_hash_free_key) slave_info_free, 0);
|
||||
pthread_mutex_init(&LOCK_slave_list, MY_MUTEX_INIT_FAST);
|
||||
}
|
||||
|
||||
void end_slave_list()
|
||||
{
|
||||
/* No protection by a mutex needed as we are only called at shutdown */
|
||||
if (hash_inited(&slave_list))
|
||||
if (my_hash_inited(&slave_list))
|
||||
{
|
||||
hash_free(&slave_list);
|
||||
my_hash_free(&slave_list);
|
||||
pthread_mutex_destroy(&LOCK_slave_list);
|
||||
}
|
||||
}
|
||||
@ -470,7 +471,7 @@ bool show_new_master(THD* thd)
|
||||
field_list.push_back(new Item_empty_string("Log_name", 20));
|
||||
field_list.push_back(new Item_return_int("Log_pos", 10,
|
||||
MYSQL_TYPE_LONGLONG));
|
||||
if (protocol->send_fields(&field_list,
|
||||
if (protocol->send_result_set_metadata(&field_list,
|
||||
Protocol::SEND_NUM_ROWS | Protocol::SEND_EOF))
|
||||
DBUG_RETURN(TRUE);
|
||||
protocol->prepare_for_resend();
|
||||
@ -547,8 +548,8 @@ HOSTS";
|
||||
uint32 log_server_id;
|
||||
SLAVE_INFO* si, *old_si;
|
||||
log_server_id = atoi(row[0]);
|
||||
if ((old_si= (SLAVE_INFO*)hash_search(&slave_list,
|
||||
(uchar*)&log_server_id,4)))
|
||||
if ((old_si= (SLAVE_INFO*)my_hash_search(&slave_list,
|
||||
(uchar*)&log_server_id,4)))
|
||||
si = old_si;
|
||||
else
|
||||
{
|
||||
@ -681,7 +682,7 @@ bool show_slave_hosts(THD* thd)
|
||||
field_list.push_back(new Item_return_int("Master_id", 10,
|
||||
MYSQL_TYPE_LONG));
|
||||
|
||||
if (protocol->send_fields(&field_list,
|
||||
if (protocol->send_result_set_metadata(&field_list,
|
||||
Protocol::SEND_NUM_ROWS | Protocol::SEND_EOF))
|
||||
DBUG_RETURN(TRUE);
|
||||
|
||||
@ -689,7 +690,7 @@ bool show_slave_hosts(THD* thd)
|
||||
|
||||
for (uint i = 0; i < slave_list.records; ++i)
|
||||
{
|
||||
SLAVE_INFO* si = (SLAVE_INFO*) hash_element(&slave_list, i);
|
||||
SLAVE_INFO* si = (SLAVE_INFO*) my_hash_element(&slave_list, i);
|
||||
protocol->prepare_for_resend();
|
||||
protocol->store((uint32) si->server_id);
|
||||
protocol->store(si->host, &my_charset_bin);
|
||||
@ -920,7 +921,7 @@ bool load_master_data(THD* thd)
|
||||
goto err;
|
||||
}
|
||||
/* Clear the result of mysql_create_db(). */
|
||||
thd->main_da.reset_diagnostics_area();
|
||||
thd->stmt_da->reset_diagnostics_area();
|
||||
|
||||
if (mysql_select_db(&mysql, db) ||
|
||||
mysql_real_query(&mysql, STRING_WITH_LEN("SHOW TABLES")) ||
|
||||
|
Reference in New Issue
Block a user