summaryrefslogtreecommitdiff
path: root/sql/item_cmpfunc.cc
diff options
context:
space:
mode:
authorunknown <bell@laptop.sanja.is.com.ua>2003-08-20 17:35:12 +0300
committerunknown <bell@laptop.sanja.is.com.ua>2003-08-20 17:35:12 +0300
commit5e00fc02b91b789b630dc61722cd50ac8abd32cc (patch)
treeae1a08abada36c655dfdf7505487c1f3319aef7f /sql/item_cmpfunc.cc
parent6d0a048701e07e69dea899fc1a6caa8f5d6b435d (diff)
downloadmariadb-git-5e00fc02b91b789b630dc61722cd50ac8abd32cc.tar.gz
after merge changing
uninitialized value fixed sql/item_cmpfunc.cc: fixed uninitialized used_tables_cache othyer caches moved on proper place sql/item_subselect.cc: fixed reported table bit sql/mysql_priv.h: after merge chenges. sql/sql_parse.cc: used same new operator for all allocation in subroutine sql/sql_union.cc: fake st_select_lex should have item list for ref_array allocation sql/sql_yacc.yy: after merge changing
Diffstat (limited to 'sql/item_cmpfunc.cc')
-rw-r--r--sql/item_cmpfunc.cc10
1 files changed, 6 insertions, 4 deletions
diff --git a/sql/item_cmpfunc.cc b/sql/item_cmpfunc.cc
index f939709f743..053eb9e6fef 100644
--- a/sql/item_cmpfunc.cc
+++ b/sql/item_cmpfunc.cc
@@ -385,7 +385,7 @@ bool Item_in_optimizer::fix_left(THD *thd,
cache->store(args[0]);
if (cache->cols() == 1)
{
- if (args[0]->used_tables())
+ if ((used_tables_cache= args[0]->used_tables()))
cache->set_used_tables(OUTER_REF_TABLE_BIT);
else
cache->set_used_tables(0);
@@ -400,7 +400,11 @@ bool Item_in_optimizer::fix_left(THD *thd,
else
((Item_cache *)cache->el(i))->set_used_tables(0);
}
+ used_tables_cache= args[0]->used_tables();
}
+ not_null_tables_cache= args[0]->not_null_tables();
+ with_sum_func= args[0]->with_sum_func;
+ const_item_cache= args[0]->const_item();
return 0;
}
@@ -414,9 +418,6 @@ bool Item_in_optimizer::fix_fields(THD *thd, struct st_table_list *tables,
if (args[0]->maybe_null)
maybe_null=1;
- with_sum_func= args[0]->with_sum_func;
- used_tables_cache= args[0]->used_tables();
- const_item_cache= args[0]->const_item();
if (!args[1]->fixed && args[1]->fix_fields(thd, tables, args))
return 1;
Item_in_subselect * sub= (Item_in_subselect *)args[1];
@@ -429,6 +430,7 @@ bool Item_in_optimizer::fix_fields(THD *thd, struct st_table_list *tables,
maybe_null=1;
with_sum_func= with_sum_func || args[1]->with_sum_func;
used_tables_cache|= args[1]->used_tables();
+ not_null_tables_cache|= args[1]->not_null_tables();
const_item_cache&= args[1]->const_item();
return 0;
}