My Project
|
Public Types | |
enum | enum_trig_type { IS_NOT_NULL_COMPL, FOUND_MATCH, OUTER_FIELD_IS_NOT_NULL } |
Public Member Functions | |
Item_func_trig_cond (Item *a, bool *f, struct st_join_table *tab, enum_trig_type trig_type_arg) | |
longlong | val_int () |
enum Functype | functype () const |
const char * | func_name () const |
'<if>', to distinguish from the if() SQL function | |
bool | const_item () const |
bool * | get_trig_var () |
table_map | used_tables () const |
void | print (String *str, enum_query_type query_type) |
IS_NOT_NULL_COMPL |
In t1 LEFT JOIN t2, ON can be tested on t2's row only if that row is not NULL-complemented |
FOUND_MATCH |
In t1 LEFT JOIN t2, the WHERE pushed to t2 can be tested only after at least one t2's row has been found |
OUTER_FIELD_IS_NOT_NULL |
In IN->EXISTS subquery transformation, new predicates are added: WHERE inner_field=outer_field OR inner_field IS NULL, as well as HAVING inner_field IS NOT NULL, are disabled if outer_field is a NULL value |
Item_func_trig_cond::Item_func_trig_cond | ( | Item * | a, |
bool * | f, | ||
struct st_join_table * | tab, | ||
enum_trig_type | trig_type_arg | ||
) | [inline] |
a | the item for <condition> |
f | pointer to trigger variable |
tab | optional table which is source of 'f', NULL if not applicable |
trig_type_arg | type of 'f' |
void Item_func_trig_cond::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_func.