diff options
author | unknown <lzhou/zhl@dev3-63.(none)> | 2007-02-01 17:34:20 +0000 |
---|---|---|
committer | unknown <lzhou/zhl@dev3-63.(none)> | 2007-02-01 17:34:20 +0000 |
commit | d760847276059930913c5b3837fb253b936a7173 (patch) | |
tree | 43d2528007f225d8a978b925a4b0ae1c88ca5e47 /sql | |
parent | 4415af757e9bb64e76e4f0fb8fa7f1b498221282 (diff) | |
parent | b4f04231db5d7922ec60be1a747a052bd7880d44 (diff) | |
download | mariadb-git-d760847276059930913c5b3837fb253b936a7173.tar.gz |
Merge dev3-63.(none):/home/zhl/mysql/tree-merge/5.1/mysql-5.1-new-ndb-bj
into dev3-63.(none):/home/zhl/mysql/tree-merge/5.1/mysql-5.1-new-ndb
sql/log_event.cc:
Auto merged
sql/protocol.h:
Auto merged
sql/slave.cc:
Auto merged
storage/ndb/src/common/debugger/EventLogger.cpp:
Auto merged
storage/ndb/src/kernel/blocks/backup/Backup.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
storage/ndb/src/mgmclient/CommandInterpreter.cpp:
Auto merged
storage/ndb/src/mgmsrv/ConfigInfo.cpp:
Auto merged
storage/ndb/src/mgmsrv/main.cpp:
Auto merged
storage/ndb/src/ndbapi/ClusterMgr.cpp:
Auto merged
Diffstat (limited to 'sql')
-rw-r--r-- | sql/log_event.cc | 23 | ||||
-rw-r--r-- | sql/protocol.h | 2 | ||||
-rw-r--r-- | sql/slave.cc | 2 |
3 files changed, 23 insertions, 4 deletions
diff --git a/sql/log_event.cc b/sql/log_event.cc index 82fb64bfe15..d38a9accecc 100644 --- a/sql/log_event.cc +++ b/sql/log_event.cc @@ -5717,9 +5717,26 @@ int Rows_log_event::exec_event(st_relay_log_info *rli) { if (!need_reopen) { - slave_print_msg(ERROR_LEVEL, rli, error, - "Error in %s event: when locking tables", - get_type_str()); + if (thd->query_error || thd->is_fatal_error) + { + /* + Error reporting borrowed from Query_log_event with many excessive + simplifications (we don't honour --slave-skip-errors) + */ + uint actual_error= thd->net.last_errno; + slave_print_msg(ERROR_LEVEL, rli, actual_error, + "Error '%s' in %s event: when locking tables", + (actual_error ? thd->net.last_error : + "unexpected success or fatal error"), + get_type_str()); + thd->is_fatal_error= 1; + } + else + { + slave_print_msg(ERROR_LEVEL, rli, error, + "Error in %s event: when locking tables", + get_type_str()); + } rli->clear_tables_to_lock(); DBUG_RETURN(error); } diff --git a/sql/protocol.h b/sql/protocol.h index 0e00a7c21e0..6c4c7414ea5 100644 --- a/sql/protocol.h +++ b/sql/protocol.h @@ -58,6 +58,8 @@ public: String *storage_packet() { return packet; } inline void free() { packet->free(); } virtual bool write(); + inline bool store(int from) + { return store_long((longlong) from); } inline bool store(uint32 from) { return store_long((longlong) from); } inline bool store(longlong from) diff --git a/sql/slave.cc b/sql/slave.cc index c21aec49e88..e34077403a7 100644 --- a/sql/slave.cc +++ b/sql/slave.cc @@ -1295,7 +1295,7 @@ bool show_master_info(THD* thd, MASTER_INFO* mi) rpl_filter->get_wild_ignore_table(&tmp); protocol->store(&tmp); - protocol->store((uint32) mi->rli.last_slave_errno); + protocol->store(mi->rli.last_slave_errno); protocol->store(mi->rli.last_slave_error, &my_charset_bin); protocol->store((uint32) mi->rli.slave_skip_counter); protocol->store((ulonglong) mi->rli.group_master_log_pos); |