diff options
author | unknown <sasha@mysql.sashanet.com> | 2000-11-27 11:13:05 -0700 |
---|---|---|
committer | unknown <sasha@mysql.sashanet.com> | 2000-11-27 11:13:05 -0700 |
commit | d95ec59726ad44cc26bee2e32c9bffa0052b0a51 (patch) | |
tree | 66e0033b6a729fa25769f98640f7ec7b1bfc719f /sql/slave.cc | |
parent | 241e25389f99fa5a536ac3a0bb50d269ec637f07 (diff) | |
parent | 7648e3bc3c3dd27f97b878760938f748499fd378 (diff) | |
download | mariadb-git-d95ec59726ad44cc26bee2e32c9bffa0052b0a51.tar.gz |
Merge work.mysql.com:/home/bk/mysql
into mysql.sashanet.com:/home/sasha/src/bk/mysql
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_table.cc:
Auto merged
Diffstat (limited to 'sql/slave.cc')
-rw-r--r-- | sql/slave.cc | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/sql/slave.cc b/sql/slave.cc index f2636ab5380..c969d7f11ae 100644 --- a/sql/slave.cc +++ b/sql/slave.cc @@ -761,6 +761,7 @@ static int exec_event(THD* thd, NET* net, MASTER_INFO* mi, int event_len) thd->query_error = 0; // clear error thd->net.last_errno = 0; thd->net.last_error[0] = 0; + thd->slave_proxy_id = qev->thread_id; // for temp tables mysql_parse(thd, thd->query, q_len); int expected_error,actual_error; if((expected_error = qev->error_code) != @@ -781,24 +782,17 @@ static int exec_event(THD* thd, NET* net, MASTER_INFO* mi, int event_len) thd->convert_set = 0; // assume no convert for next query // unless set explictly close_thread_tables(thd); - free_root(&thd->mem_root,0); - if (thd->query_error) + if (thd->query_error || thd->fatal_error) { sql_print_error("Slave: error running query '%s' ", qev->query); + free_root(&thd->mem_root,0); delete ev; return 1; } - + free_root(&thd->mem_root,0); delete ev; - - if(thd->fatal_error) - { - sql_print_error("Slave: Fatal error running query '%s' ", - thd->query); - return 1; - } mi->inc_pos(event_len); flush_master_info(mi); @@ -874,6 +868,7 @@ static int exec_event(THD* thd, NET* net, MASTER_INFO* mi, int event_len) List<Item> fields; lev->set_fields(fields); + thd->slave_proxy_id = thd->thread_id; thd->net.vio = net->vio; // mysql_load will use thd->net to read the file thd->net.pkt_nr = net->pkt_nr; @@ -919,11 +914,13 @@ static int exec_event(THD* thd, NET* net, MASTER_INFO* mi, int event_len) } case START_EVENT: + close_temporary_tables(thd); mi->inc_pos(event_len); flush_master_info(mi); break; case STOP_EVENT: + close_temporary_tables(thd); mi->inc_pos(event_len); flush_master_info(mi); break; |