Commit 18da1d3f authored by unknown's avatar unknown

deal with errno out of range when reading it from the master


sql/slave.cc:
  print expected error number
sql/unireg.h:
  sanity check for errno range in ER(X)
parent 714640bf
......@@ -916,9 +916,10 @@ static int exec_event(THD* thd, NET* net, MASTER_INFO* mi, int event_len)
(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"
running query from master - expected: '%s'(%d), got '%s'(%d)";
sql_print_error(errmsg, ER(expected_error), expected_error,
actual_error ? thd->net.last_error:"no error",
actual_error
);
thd->query_error = 1;
}
......
......@@ -37,7 +37,8 @@
#define SHAREDIR "share/"
#endif
#define ER(X) errmesg[(X)-1000]
#define ER(X) ((X) >= 1000 && (X) < ER_ERROR_MESSAGES + 1000) ? \
errmesg[(X)-1000] : "Invalid error code"
#define ERRMAPP 1 /* Errormap f|r my_error */
#define LIBLEN FN_REFLEN-FN_LEN /* Max l{ngd p} dev */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment