summaryrefslogtreecommitdiff
path: root/sql/sql_class.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sql/sql_class.cc')
-rw-r--r--sql/sql_class.cc11
1 files changed, 7 insertions, 4 deletions
diff --git a/sql/sql_class.cc b/sql/sql_class.cc
index 8a1c3e09c23..7aa4d703732 100644
--- a/sql/sql_class.cc
+++ b/sql/sql_class.cc
@@ -1203,6 +1203,13 @@ Sql_condition* THD::raise_condition(uint sql_errno,
if (handle_condition(sql_errno, sqlstate, level, msg, &cond))
DBUG_RETURN(cond);
+ /* When simulating OOM, skip writing to error log to avoid mtr errors. */
+ cond= DBUG_EVALUATE_IF(
+ "simulate_out_of_memory",
+ NULL,
+ da->push_warning(this, sql_errno, sqlstate, level, msg));
+
+
if (level == Sql_condition::WARN_LEVEL_ERROR)
{
is_slave_error= 1; // needed to catch query errors during replication
@@ -1216,10 +1223,6 @@ Sql_condition* THD::raise_condition(uint sql_errno,
query_cache_abort(&query_cache_tls);
- /* When simulating OOM, skip writing to error log to avoid mtr errors */
- DBUG_EXECUTE_IF("simulate_out_of_memory", DBUG_RETURN(NULL););
-
- da->push_warning(this, sql_errno, sqlstate, level, msg);
DBUG_RETURN(cond);
}