Below is the list of changes that have just been committed into a local
5.1 repository of mkindahl. When mkindahl does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet
1.2028 06/01/09 09:37:21 mats@stripped +1 -0
Bug#15923 (Test ps_7ndb cause master crash):
Always log statements "DELETE FROM x" statement-based.
sql/sql_delete.cc
1.168 06/01/09 09:37:12 mats@stripped +7 -3
Logging deletion of all rows using statement-based logging.
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: mats
# Host: dl145k.mysql.com
# Root: /users/mkindahl/bk/b15923-mysql-5.1-new
--- 1.167/sql/sql_delete.cc 2006-01-05 10:52:49 +01:00
+++ 1.168/sql/sql_delete.cc 2006-01-09 09:37:12 +01:00
@@ -79,6 +79,10 @@
!(table->triggers && table->triggers->has_delete_triggers()))
{
ha_rows const maybe_deleted= table->file->records;
+ /*
+ If all rows shall be deleted, we always log this statement-based
+ (see [binlog], below), so we set this flag and test it below.
+ */
ha_delete_all_rows= 1;
if (!(error=table->file->delete_all_rows()))
{
@@ -315,9 +319,9 @@
thd->clear_error();
/*
- If 'handler::delete_all_rows()' was called, we replicate
- statement-based; otherwise, 'ha_delete_row()' was used to
- delete specific rows which we might log row-based.
+ [binlog]: If 'handler::delete_all_rows()' was called, we
+ replicate statement-based; otherwise, 'ha_delete_row()' was
+ used to delete specific rows which we might log row-based.
*/
THD::enum_binlog_query_type const
query_type(ha_delete_all_rows ?
| Thread |
|---|
| • bk commit into 5.1 tree (mats:1.2028) BUG#15923 | Mats Kindahl | 9 Jan |