diff options
author | unknown <monty@work.mysql.com> | 2001-06-01 03:13:02 +0200 |
---|---|---|
committer | unknown <monty@work.mysql.com> | 2001-06-01 03:13:02 +0200 |
commit | 2085b1950d18594d714bc929f761005ed0edde33 (patch) | |
tree | 78a2d6b0528d04c729f1139a6abfd588ee1ef9e1 /sql/slave.cc | |
parent | a2458dd71eaf7d49562f4f719fcf034014ef3652 (diff) | |
parent | 7032533d4cf4484d3e2dc214d6d982ceefbab65d (diff) | |
download | mariadb-git-2085b1950d18594d714bc929f761005ed0edde33.tar.gz |
Merge work.mysql.com:/home/bk/mysql
into work.mysql.com:/home/bk/mysql-4.0
BitKeeper/etc/logging_ok:
auto-union
Docs/manual.texi:
Auto merged
include/my_sys.h:
Auto merged
libmysql/Makefile.shared:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_repl.cc:
Auto merged
Diffstat (limited to 'sql/slave.cc')
-rw-r--r-- | sql/slave.cc | 53 |
1 files changed, 27 insertions, 26 deletions
diff --git a/sql/slave.cc b/sql/slave.cc index 5b5439353c7..7bf89fdad48 100644 --- a/sql/slave.cc +++ b/sql/slave.cc @@ -963,36 +963,37 @@ static int exec_event(THD* thd, NET* net, MASTER_INFO* mi, int event_len) // sanity check to make sure the master did not get a really bad // error on the query - if(!check_expected_error(thd, (expected_error = qev->error_code))) + if (!check_expected_error(thd, (expected_error = qev->error_code))) + { + mysql_parse(thd, thd->query, q_len); + if (expected_error != + (actual_error = thd->net.last_errno) && expected_error) { - mysql_parse(thd, thd->query, q_len); - if (expected_error != - (actual_error = thd->net.last_errno) && expected_error) - { - const char* errmsg = "Slave: did not get the expected error\ - running query from master - expected: '%s', got '%s'"; - sql_print_error(errmsg, ER(expected_error), - actual_error ? thd->net.last_error:"no error" - ); - thd->query_error = 1; - } - else if (expected_error == actual_error) - { - thd->query_error = 0; - *last_slave_error = 0; - last_slave_errno = 0; - } + const char* errmsg = "Slave: did not get the expected error\ + running query from master - expected: '%s'(%d), got '%s'(%d)"; + sql_print_error(errmsg, ER_SAFE(expected_error), + expected_error, + actual_error ? thd->net.last_error:"no error", + actual_error); + thd->query_error = 1; } - else // master could be inconsistent, abort and tell DBA to - // check/fix it + else if (expected_error == actual_error) { - thd->db = thd->query = 0; - thd->convert_set = 0; - close_thread_tables(thd); - free_root(&thd->mem_root,0); - delete ev; - return 1; + thd->query_error = 0; + *last_slave_error = 0; + last_slave_errno = 0; } + } + else + { + // master could be inconsistent, abort and tell DBA to check/fix it + thd->db = thd->query = 0; + thd->convert_set = 0; + close_thread_tables(thd); + free_root(&thd->mem_root,0); + delete ev; + return 1; + } } thd->db = 0; // prevent db from being freed thd->query = 0; // just to be sure |