diff options
Diffstat (limited to 'sql/item_row.cc')
-rw-r--r-- | sql/item_row.cc | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/sql/item_row.cc b/sql/item_row.cc index 9fae85518af..eb446768423 100644 --- a/sql/item_row.cc +++ b/sql/item_row.cc @@ -93,12 +93,29 @@ bool Item_row::fix_fields(THD *thd, Item **ref) } maybe_null|= item->maybe_null; with_sum_func= with_sum_func || item->with_sum_func; + with_field= with_field || item->with_field; } fixed= 1; return FALSE; } +bool +Item_row::eval_not_null_tables(uchar *opt_arg) +{ + Item **arg,**arg_end; + not_null_tables_cache= 0; + if (arg_count) + { + for (arg= items, arg_end= items+arg_count; arg != arg_end ; arg++) + { + not_null_tables_cache|= (*arg)->not_null_tables(); + } + } + return FALSE; +} + + void Item_row::cleanup() { DBUG_ENTER("Item_row::cleanup"); |