diff options
author | dlenev@brandersnatch.localdomain <> | 2004-11-12 17:04:07 +0300 |
---|---|---|
committer | dlenev@brandersnatch.localdomain <> | 2004-11-12 17:04:07 +0300 |
commit | e7a24660244e7f2a779f32ae4a89f2489aa77e5f (patch) | |
tree | 3d3e39fea75ed94d80cbd130282b1549532aa7e0 /sql/sql_trigger.h | |
parent | aa6d99dd0a453762e81be251094f7538c974447c (diff) | |
download | mariadb-git-e7a24660244e7f2a779f32ae4a89f2489aa77e5f.tar.gz |
Fix for bug #5890 "Triggers fail for DELETE without WHERE".
If we have DELETE with always true WHERE clause we should not use
optimized delete_all_rows() method for tables with DELETE triggers,
because in this case we will lose side-effect of deletion.
Diffstat (limited to 'sql/sql_trigger.h')
-rw-r--r-- | sql/sql_trigger.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sql/sql_trigger.h b/sql/sql_trigger.h index 8ab2ab003f8..d0376f056d9 100644 --- a/sql/sql_trigger.h +++ b/sql/sql_trigger.h @@ -58,5 +58,11 @@ public: static bool check_n_load(THD *thd, const char *db, const char *table_name, TABLE *table); + bool has_delete_triggers() + { + return (bodies[TRG_EVENT_DELETE][TRG_ACTION_BEFORE] || + bodies[TRG_EVENT_DELETE][TRG_ACTION_AFTER]); + } + friend class Item_trigger_field; }; |