26#ifndef TRIGGER_CHAIN_H_INCLUDED
27#define TRIGGER_CHAIN_H_INCLUDED
Definition: sql_list.h:434
Definition: sql_lex.h:2507
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:34
Definition: trigger_chain.h:41
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:61
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:195
List< Trigger > m_triggers
List of triggers of this chain.
Definition: trigger_chain.h:69
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:160
bool execute_triggers(THD *thd)
Run every trigger in the list of triggers.
Definition: trigger_chain.cc:140
List< Trigger > & get_trigger_list()
Definition: trigger_chain.h:50
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:177
~Trigger_chain()
Definition: trigger_chain.cc:41
This class represents a trigger object.
Definition: trigger.h:74
static MEM_ROOT mem_root
Definition: client_plugin.cc:110
The MEM_ROOT is a simple arena, where allocations are carved out of larger blocks.
Definition: my_alloc.h:83
Definition: mysql_lex_string.h:40
Definition: my_bitmap.h:43
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:64