mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Merge mysql.com:/windows/Linux_space/MySQL/mysql-5.1
into mysql.com:/windows/Linux_space/MySQL/mysql-5.1-new-ndb
This commit is contained in:
@ -221,7 +221,20 @@ bool mysql_delete(THD *thd, TABLE_LIST *table_list, COND *conds,
|
||||
|
||||
init_ftfuncs(thd, select_lex, 1);
|
||||
thd->proc_info="updating";
|
||||
will_batch= !table->file->start_bulk_delete();
|
||||
if (table->triggers &&
|
||||
table->triggers->has_triggers(TRG_EVENT_DELETE,
|
||||
TRG_ACTION_AFTER))
|
||||
{
|
||||
/*
|
||||
The table has AFTER DELETE triggers that might access to subject table
|
||||
and therefore might need delete to be done immediately. So we turn-off
|
||||
the batching.
|
||||
*/
|
||||
(void) table->file->extra(HA_EXTRA_DELETE_CANNOT_BATCH);
|
||||
will_batch= FALSE;
|
||||
}
|
||||
else
|
||||
will_batch= !table->file->start_bulk_delete();
|
||||
|
||||
|
||||
table->mark_columns_needed_for_delete();
|
||||
@ -563,6 +576,17 @@ multi_delete::initialize_tables(JOIN *join)
|
||||
transactional_tables= 1;
|
||||
else
|
||||
normal_tables= 1;
|
||||
if (tbl->triggers &&
|
||||
tbl->triggers->has_triggers(TRG_EVENT_DELETE,
|
||||
TRG_ACTION_AFTER))
|
||||
{
|
||||
/*
|
||||
The table has AFTER DELETE triggers that might access to subject
|
||||
table and therefore might need delete to be done immediately.
|
||||
So we turn-off the batching.
|
||||
*/
|
||||
(void) tbl->file->extra(HA_EXTRA_DELETE_CANNOT_BATCH);
|
||||
}
|
||||
tbl->prepare_for_position();
|
||||
tbl->mark_columns_needed_for_delete();
|
||||
}
|
||||
|
Reference in New Issue
Block a user