summaryrefslogtreecommitdiff
path: root/sql/slave.cc
diff options
context:
space:
mode:
authorunknown <monty@work.mysql.com>2001-06-01 03:13:02 +0200
committerunknown <monty@work.mysql.com>2001-06-01 03:13:02 +0200
commit2085b1950d18594d714bc929f761005ed0edde33 (patch)
tree78a2d6b0528d04c729f1139a6abfd588ee1ef9e1 /sql/slave.cc
parenta2458dd71eaf7d49562f4f719fcf034014ef3652 (diff)
parent7032533d4cf4484d3e2dc214d6d982ceefbab65d (diff)
downloadmariadb-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.cc53
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