diff options
author | monty@mashka.mysql.fi <> | 2003-01-19 02:28:07 +0200 |
---|---|---|
committer | monty@mashka.mysql.fi <> | 2003-01-19 02:28:07 +0200 |
commit | 12ab0651c60b04a1dc10a571b371f5ef863a8777 (patch) | |
tree | 950f9df8ccdc90bad3b9205701aba11ef93ac2dc /sql/log_event.cc | |
parent | 0d284054246c9ba4dd122f6b3c777907111cf64d (diff) | |
parent | 183df2da7fc0f9f7f8bbf54fee055f3e470932a1 (diff) | |
download | mariadb-git-12ab0651c60b04a1dc10a571b371f5ef863a8777.tar.gz |
merge with 4.0 to get bug fix for SHOW PROCESSLIST + connected slave
Diffstat (limited to 'sql/log_event.cc')
-rw-r--r-- | sql/log_event.cc | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/sql/log_event.cc b/sql/log_event.cc index 1d27e48f14f..d2fcc83a98f 100644 --- a/sql/log_event.cc +++ b/sql/log_event.cc @@ -867,10 +867,11 @@ int Query_log_event::exec_event(struct st_relay_log_info* rli) if (db_ok(thd->db, replicate_do_db, replicate_ignore_db)) { - thd->query = (char*)query; thd->set_time((time_t)when); thd->current_tablenr = 0; + thd->query_length= q_len; VOID(pthread_mutex_lock(&LOCK_thread_count)); + thd->query = (char*)query; thd->query_id = query_id++; VOID(pthread_mutex_unlock(&LOCK_thread_count)); thd->query_error= 0; // clear error @@ -928,7 +929,9 @@ int Query_log_event::exec_event(struct st_relay_log_info* rli) else { // master could be inconsistent, abort and tell DBA to check/fix it + VOID(pthread_mutex_lock(&LOCK_thread_count)); thd->db = thd->query = 0; + VOID(pthread_mutex_unlock(&LOCK_thread_count)); thd->variables.convert_set = 0; close_thread_tables(thd); free_root(&thd->mem_root,0); @@ -936,7 +939,9 @@ int Query_log_event::exec_event(struct st_relay_log_info* rli) } } thd->db= 0; // prevent db from being freed + VOID(pthread_mutex_lock(&LOCK_thread_count)); thd->query= 0; // just to be sure + VOID(pthread_mutex_unlock(&LOCK_thread_count)); // assume no convert for next query unless set explictly thd->variables.convert_set = 0; close_thread_tables(thd); @@ -1513,7 +1518,8 @@ int Load_log_event::exec_event(NET* net, struct st_relay_log_info* rli, { init_sql_alloc(&thd->mem_root, 8192,0); thd->db = rewrite_db((char*)db); - thd->query = 0; + DBUG_ASSERT(thd->query == 0); + thd->query = 0; // Should not be needed thd->query_error = 0; if (db_ok(thd->db, replicate_do_db, replicate_ignore_db)) |