| My Project
   
    | 
 
  
 | Public Types | |
| enum | row_version_type { OLD_ROW, NEW_ROW } | 
| Public Member Functions | |
| Item_trigger_field (Name_resolution_context *context_arg, row_version_type row_ver_arg, const char *field_name_arg, ulong priv, const bool ro) | |
| void | setup_field (THD *thd, TABLE *table, GRANT_INFO *table_grant_info) | 
| enum Type | type () const | 
| bool | eq (const Item *item, bool binary_cmp) const | 
| bool | fix_fields (THD *, Item **) | 
| virtual void | print (String *str, enum_query_type query_type) | 
| table_map | used_tables () const | 
| Field * | get_tmp_table_field () | 
| Item * | copy_or_same (THD *thd) | 
| Item * | get_tmp_table_item (THD *thd) | 
| void | cleanup () | 
| Settable_routine_parameter * | get_settable_routine_parameter () | 
| bool | set_value (THD *thd, Item **it) | 
| Public Attributes | |
| row_version_type | row_version | 
| Item_trigger_field * | next_trg_field | 
| SQL_I_List< Item_trigger_field > * | next_trig_field_list | 
| uint | field_idx | 
| Table_triggers_list * | triggers | 
| bool Item_trigger_field::eq | ( | const Item * | item, | 
| bool | binary_cmp | ||
| ) | const  [virtual] | 
This function is called when:
Reimplemented from Item_field.
| bool Item_trigger_field::fix_fields | ( | THD * | thd, | 
| Item ** | reference | ||
| ) |  [virtual] | 
Resolve the name of a column reference.
The method resolves the column reference represented by 'this' as a column present in one of: FROM clause, SELECT clause, GROUP BY clause of a query Q, or in outer queries that contain Q.
The name resolution algorithm used is (where [T_j] is an optional table name that qualifies the column name):
    resolve_column_reference([T_j].col_ref_i)
    {
      search for a column or derived column named col_ref_i
      [in table T_j] in the FROM clause of Q;
      if such a column is NOT found AND    // Lookup in outer queries.
         there are outer queries
      {
        for each outer query Q_k beginning from the inner-most one
        {
          search for a column or derived column named col_ref_i
          [in table T_j] in the FROM clause of Q_k;
          if such a column is not found
            Search for a column or derived column named col_ref_i
            [in table T_j] in the SELECT and GROUP clauses of Q_k.
        }
      }
    }
Notice that compared to Item_ref::fix_fields, here we first search the FROM clause, and then we search the SELECT and GROUP BY clauses.
| [in] | thd | current thread | 
| [in,out] | reference | view column if this item was resolved to a view column | 
| TRUE | if error | 
| FALSE | on success | 
Reimplemented from Item_field.
| void Item_trigger_field::print | ( | String * | str, | 
| enum_query_type | query_type | ||
| ) |  [virtual] | 
This method is used for to:
For more information about view definition query, INFORMATION_SCHEMA query and why they should be generated from the Item-tree,
Reimplemented from Item_field.
| void Item_trigger_field::setup_field | ( | THD * | thd, | 
| TABLE * | table, | ||
| GRANT_INFO * | table_grant_info | ||
| ) | 
Find index of Field object which will be appropriate for item representing field of row being changed in trigger.
| thd | current thread context | 
| table | table of trigger (and where we looking for fields) | 
| table_grant_info | GRANT_INFO of the subject table | 
 1.7.6.1
 1.7.6.1