Added ER_SAFE() for cases when the error message could be out of bands
This commit is contained in:
parent
7ec2d474ce
commit
683a46a38b
12
sql/slave.cc
12
sql/slave.cc
@ -909,7 +909,7 @@ 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
|
// sanity check to make sure the master did not get a really bad
|
||||||
// error on the query
|
// 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);
|
mysql_parse(thd, thd->query, q_len);
|
||||||
if (expected_error !=
|
if (expected_error !=
|
||||||
@ -917,10 +917,10 @@ static int exec_event(THD* thd, NET* net, MASTER_INFO* mi, int event_len)
|
|||||||
{
|
{
|
||||||
const char* errmsg = "Slave: did not get the expected error\
|
const char* errmsg = "Slave: did not get the expected error\
|
||||||
running query from master - expected: '%s'(%d), got '%s'(%d)";
|
running query from master - expected: '%s'(%d), got '%s'(%d)";
|
||||||
sql_print_error(errmsg, ER(expected_error), expected_error,
|
sql_print_error(errmsg, ER_SAFE(expected_error),
|
||||||
|
expected_error,
|
||||||
actual_error ? thd->net.last_error:"no error",
|
actual_error ? thd->net.last_error:"no error",
|
||||||
actual_error
|
actual_error);
|
||||||
);
|
|
||||||
thd->query_error = 1;
|
thd->query_error = 1;
|
||||||
}
|
}
|
||||||
else if (expected_error == actual_error)
|
else if (expected_error == actual_error)
|
||||||
@ -930,9 +930,9 @@ static int exec_event(THD* thd, NET* net, MASTER_INFO* mi, int event_len)
|
|||||||
last_slave_errno = 0;
|
last_slave_errno = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else // master could be inconsistent, abort and tell DBA to
|
else
|
||||||
// check/fix it
|
|
||||||
{
|
{
|
||||||
|
// master could be inconsistent, abort and tell DBA to check/fix it
|
||||||
thd->db = thd->query = 0;
|
thd->db = thd->query = 0;
|
||||||
thd->convert_set = 0;
|
thd->convert_set = 0;
|
||||||
close_thread_tables(thd);
|
close_thread_tables(thd);
|
||||||
|
@ -37,8 +37,9 @@
|
|||||||
#define SHAREDIR "share/"
|
#define SHAREDIR "share/"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define ER(X) ((X) >= 1000 && (X) < ER_ERROR_MESSAGES + 1000) ? \
|
#define ER(X) errmesg[(X)-1000]
|
||||||
errmesg[(X)-1000] : "Invalid error code"
|
#define ER_SAFE(X) (((X) >= 1000 && (X) < ER_ERROR_MESSAGES + 1000) ? ER(X) : "Invalid error code")
|
||||||
|
|
||||||
|
|
||||||
#define ERRMAPP 1 /* Errormap f|r my_error */
|
#define ERRMAPP 1 /* Errormap f|r my_error */
|
||||||
#define LIBLEN FN_REFLEN-FN_LEN /* Max l{ngd p} dev */
|
#define LIBLEN FN_REFLEN-FN_LEN /* Max l{ngd p} dev */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user