diff options
author | dlenev@mysql.com <> | 2006-07-02 02:12:53 +0400 |
---|---|---|
committer | dlenev@mysql.com <> | 2006-07-02 02:12:53 +0400 |
commit | eb3ae6eb79f90e1d133a30fe52473de70077a772 (patch) | |
tree | 6997be64d5327fe58acf2e694155bdcea954f13c /sql/sql_trigger.h | |
parent | a3deb94518b54d6319a0c5ac7ea1783b50fe170d (diff) | |
parent | d4450e66964e14ac85bc40c567a510dd86353f60 (diff) | |
download | mariadb-git-eb3ae6eb79f90e1d133a30fe52473de70077a772.tar.gz |
Merge mysql.com:/home/dlenev/mysql-5.0-bg18437-3
into mysql.com:/home/dlenev/mysql-5.1-bg18437
Diffstat (limited to 'sql/sql_trigger.h')
-rw-r--r-- | sql/sql_trigger.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sql/sql_trigger.h b/sql/sql_trigger.h index bddfd8c1f0c..55744dc4d2c 100644 --- a/sql/sql_trigger.h +++ b/sql/sql_trigger.h @@ -26,6 +26,11 @@ class Table_triggers_list: public Sql_alloc /* Triggers as SPs grouped by event, action_time */ sp_head *bodies[TRG_EVENT_MAX][TRG_ACTION_MAX]; /* + Heads of the lists linking items for all fields used in triggers + grouped by event and action_time. + */ + Item_trigger_field *trigger_fields[TRG_EVENT_MAX][TRG_ACTION_MAX]; + /* Copy of TABLE::Field array with field pointers set to TABLE::record[1] buffer instead of TABLE::record[0] (used for OLD values in on UPDATE trigger and DELETE trigger when it is called for REPLACE). @@ -82,6 +87,7 @@ public: record1_field(0), table(table_arg) { bzero((char *)bodies, sizeof(bodies)); + bzero((char *)trigger_fields, sizeof(trigger_fields)); bzero((char *)&subject_table_grants, sizeof(subject_table_grants)); } ~Table_triggers_list(); @@ -119,6 +125,8 @@ public: void set_table(TABLE *new_table); + void mark_fields_used(THD *thd, trg_event_type event); + friend class Item_trigger_field; friend int sp_cache_routines_and_add_tables_for_triggers(THD *thd, LEX *lex, TABLE_LIST *table); |