diff options
author | unknown <dlenev@mysql.com> | 2006-07-02 02:12:53 +0400 |
---|---|---|
committer | unknown <dlenev@mysql.com> | 2006-07-02 02:12:53 +0400 |
commit | 44386279a5ede13b89653b2f968d4cdb0c12a847 (patch) | |
tree | 6997be64d5327fe58acf2e694155bdcea954f13c /sql/sql_trigger.h | |
parent | 50a8fba8fcfcd422dd9fba807866ed41aab4e265 (diff) | |
parent | ae9724cce160c8d8351df3e2a232cc848b5c6fb8 (diff) | |
download | mariadb-git-44386279a5ede13b89653b2f968d4cdb0c12a847.tar.gz |
Merge mysql.com:/home/dlenev/mysql-5.0-bg18437-3
into mysql.com:/home/dlenev/mysql-5.1-bg18437
sql/mysql_priv.h:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_trigger.cc:
Auto merged
include/my_base.h:
Manual merge.
mysql-test/r/federated.result:
Manual merge.
mysql-test/r/ndb_replace.result:
Manual merge.
mysql-test/t/federated.test:
Manual merge.
sql/ha_ndbcluster.cc:
Manual merge.
sql/item.cc:
Manual merge.
sql/sql_delete.cc:
Manual merge.
sql/sql_insert.cc:
Manual merge.
sql/sql_parse.cc:
Manual merge.
sql/sql_trigger.h:
Manual merge.
sql/sql_update.cc:
Manual merge.
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); |