diff options
author | unknown <monty@hundin.mysql.fi> | 2001-06-01 04:10:53 +0300 |
---|---|---|
committer | unknown <monty@hundin.mysql.fi> | 2001-06-01 04:10:53 +0300 |
commit | 7032533d4cf4484d3e2dc214d6d982ceefbab65d (patch) | |
tree | e8c9dcfbc7d121d724841d99ae16959b3c2fb552 /sql | |
parent | 24d065d95cea64eb445dcb0654492670966b107b (diff) | |
download | mariadb-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.cc | 52 | ||||
-rw-r--r-- | sql/unireg.h | 5 |
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 */ |