25#ifndef TRIGGER_CHAIN_H_INCLUDED
26#define TRIGGER_CHAIN_H_INCLUDED
Definition: sql_list.h:433
Definition: sql_lex.h:2490
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:33
Definition: trigger_chain.h:40
bool add_trigger(MEM_ROOT *mem_root, Trigger *new_trigger, enum_trigger_order_type ordering_clause, const LEX_CSTRING &referenced_trigger_name)
Add a new trigger into the list of triggers with the same ACTION/TIMING value combination.
Definition: trigger_chain.cc:60
bool has_updated_trigger_fields(const MY_BITMAP *used_fields)
Iterate over the list of triggers and check whether some table's fields are used in any trigger.
Definition: trigger_chain.cc:194
List< Trigger > m_triggers
List of triggers of this chain.
Definition: trigger_chain.h:68
void add_tables_and_routines(THD *thd, Query_tables_list *prelocking_ctx, Table_ref *table_list)
Iterate over the list of triggers and add tables and routines used by trigger to the set of elements ...
Definition: trigger_chain.cc:159
bool execute_triggers(THD *thd)
Run every trigger in the list of triggers.
Definition: trigger_chain.cc:139
List< Trigger > & get_trigger_list()
Definition: trigger_chain.h:49
void mark_fields(TABLE *subject_table)
Iterate over the list of triggers and mark fields of subject table which we read/set in every trigger...
Definition: trigger_chain.cc:176
~Trigger_chain()
Definition: trigger_chain.cc:40
This class represents a trigger object.
Definition: trigger.h:73
static MEM_ROOT mem_root
Definition: client_plugin.cc:109
The MEM_ROOT is a simple arena, where allocations are carved out of larger blocks.
Definition: my_alloc.h:82
Definition: mysql_lex_string.h:39
Definition: my_bitmap.h:42
This file defines all base public constants related to triggers in MySQL.
enum_trigger_order_type
Possible trigger ordering clause values:
Definition: trigger_def.h:63