summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <monty@hundin.mysql.fi>2001-06-01 04:10:53 +0300
committerunknown <monty@hundin.mysql.fi>2001-06-01 04:10:53 +0300
commit7032533d4cf4484d3e2dc214d6d982ceefbab65d (patch)
treee8c9dcfbc7d121d724841d99ae16959b3c2fb552 /sql
parent24d065d95cea64eb445dcb0654492670966b107b (diff)
downloadmariadb-git-7032533d4cf4484d3e2dc214d6d982ceefbab65d.tar.gz
Added ER_SAFE() for cases when the error message could be out of bands
sql/slave.cc: Cleanup up indentation. Change to use ER_SAFE() instead of ER(). sql/unireg.h: Added ER_SAFE()
Diffstat (limited to 'sql')
-rw-r--r--sql/slave.cc52
-rw-r--r--sql/unireg.h5
2 files changed, 29 insertions, 28 deletions
diff --git a/sql/slave.cc b/sql/slave.cc
index feed21d90be..33bfb4935be 100644
--- a/sql/slave.cc
+++ b/sql/slave.cc
@@ -909,37 +909,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\
+ 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(expected_error), expected_error,
- actual_error ? thd->net.last_error:"no error",
- actual_error
- );
- thd->query_error = 1;
- }
- else if (expected_error == actual_error)
- {
- thd->query_error = 0;
- *last_slave_error = 0;
- last_slave_errno = 0;
- }
+ 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
diff --git a/sql/unireg.h b/sql/unireg.h
index 87529dd1f69..159832295fd 100644
--- a/sql/unireg.h
+++ b/sql/unireg.h
@@ -37,8 +37,9 @@
#define SHAREDIR "share/"
#endif
-#define ER(X) ((X) >= 1000 && (X) < ER_ERROR_MESSAGES + 1000) ? \
- errmesg[(X)-1000] : "Invalid error code"
+#define ER(X) errmesg[(X)-1000]
+#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 LIBLEN FN_REFLEN-FN_LEN /* Max l{ngd p} dev */