Commit 1205890c authored by unknown's avatar unknown
Browse files

Bug#15923 (Test ps_7ndb cause master crash):

  Always log statements "DELETE FROM x" statement-based. 


sql/sql_delete.cc:
  Logging deletion of all rows using statement-based logging.
parent 30e23524
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -79,6 +79,10 @@ bool mysql_delete(THD *thd, TABLE_LIST *table_list, COND *conds,
      !(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 @@ bool mysql_delete(THD *thd, TABLE_LIST *table_list, COND *conds,
        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 ?