summaryrefslogtreecommitdiff
path: root/sql/sql_delete.cc
diff options
context:
space:
mode:
authorKonstantin Osipov <kostja@sun.com>2010-02-04 23:15:47 +0300
committerKonstantin Osipov <kostja@sun.com>2010-02-04 23:15:47 +0300
commit00dc9a6e70512905ef441274b0574fd2503f15b1 (patch)
tree74a123fdf4ec20af19ff7f3a97365ccdf52427bf /sql/sql_delete.cc
parenta9e22b589677df9035c73e61b80be0fc54d175a5 (diff)
downloadmariadb-git-00dc9a6e70512905ef441274b0574fd2503f15b1.tar.gz
Merge next-mr -> next-4284.
Cherry-pick a fix Bug#37148 from next-mr, to preserve file ids of the added files, and ensure that all the necessary changes have been pulled. Since initially Bug#37148 was null-merged into 6.0, the changeset that is now being cherry-picked was likewise null merged into next-4284. Now that Bug#37148 has been reapplied to 6.0, try to make it work with next-4284. This is also necessary to be able to pull other changes from 5.1-rep into next-4284. To resolve the merge issues use this changeset applied to 6.0: revid:jperkin@sun.com-20091216103628-ylhqf7s6yegui2t9 revno: 3776.1.1 committer: He Zhenxing <zhenxing.he@sun.com> branch nick: 6.0-codebase-bugfixing timestamp: Thu 2009-12-17 17:02:50 +0800 message: Fix merge problem with Bug#37148
Diffstat (limited to 'sql/sql_delete.cc')
-rw-r--r--sql/sql_delete.cc12
1 files changed, 7 insertions, 5 deletions
diff --git a/sql/sql_delete.cc b/sql/sql_delete.cc
index bae922a7411..dcb23add037 100644
--- a/sql/sql_delete.cc
+++ b/sql/sql_delete.cc
@@ -851,9 +851,10 @@ void multi_delete::abort()
if (mysql_bin_log.is_open())
{
int errcode= query_error_code(thd, thd->killed == THD::NOT_KILLED);
- thd->binlog_query(THD::ROW_QUERY_TYPE,
- thd->query(), thd->query_length(),
- transactional_tables, FALSE, errcode);
+ /* possible error of writing binary log is ignored deliberately */
+ (void) thd->binlog_query(THD::ROW_QUERY_TYPE,
+ thd->query(), thd->query_length(),
+ transactional_tables, FALSE, errcode);
}
thd->transaction.all.modified_non_trans_table= true;
}
@@ -1254,8 +1255,9 @@ end:
{
/* In RBR, the statement is not binlogged if the table is temporary. */
if (!is_temporary_table || !thd->current_stmt_binlog_row_based)
- write_bin_log(thd, TRUE, thd->query(), thd->query_length());
- my_ok(thd); // This should return record count
+ error= write_bin_log(thd, TRUE, thd->query(), thd->query_length());
+ if (!error)
+ my_ok(thd); // This should return record count
}
if (has_mdl_lock)
thd->mdl_context.release_transactional_locks();