summaryrefslogtreecommitdiff
path: root/sql/log.cc
diff options
context:
space:
mode:
authorSujatha Sivakumar <sujatha.sivakumar@oracle.com>2012-09-17 11:53:34 +0530
committerSujatha Sivakumar <sujatha.sivakumar@oracle.com>2012-09-17 11:53:34 +0530
commit3b48d80b996b13be3a66af73abe24d8322b857f8 (patch)
tree3758c873f31c3deacf3d7a14d9b39052ab037565 /sql/log.cc
parent0e8ce8f0922cbf2342cd6c30077c67ef15f06531 (diff)
parent4bfeb52d928a10321f7e6bf99a036b4e6b3c57b6 (diff)
downloadmariadb-git-3b48d80b996b13be3a66af73abe24d8322b857f8.tar.gz
merge from 5.1 to 5.5
Diffstat (limited to 'sql/log.cc')
-rw-r--r--sql/log.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/sql/log.cc b/sql/log.cc
index 1cc94d2fb02..65923eddce0 100644
--- a/sql/log.cc
+++ b/sql/log.cc
@@ -4863,12 +4863,18 @@ MYSQL_BIN_LOG::flush_and_set_pending_rows_event(THD *thd,
/*
Write pending event to the cache.
*/
+ DBUG_EXECUTE_IF("simulate_disk_full_at_flush_pending",
+ {DBUG_SET("+d,simulate_file_write_error");});
if (pending->write(file))
{
set_write_error(thd, is_transactional);
if (check_write_error(thd) && cache_data &&
stmt_has_updated_non_trans_table(thd))
cache_data->set_incident();
+ delete pending;
+ cache_data->set_pending(NULL);
+ DBUG_EXECUTE_IF("simulate_disk_full_at_flush_pending",
+ {DBUG_SET("-d,simulate_file_write_error");});
DBUG_RETURN(1);
}