summaryrefslogtreecommitdiff
path: root/sql/opt_table_elimination.cc
diff options
context:
space:
mode:
authorSergey Petrunya <psergey@askmonty.org>2009-08-25 13:38:22 +0300
committerSergey Petrunya <psergey@askmonty.org>2009-08-25 13:38:22 +0300
commitde41681afaa15345425a6d2bea8a43c717d77bb1 (patch)
tree312af9c22c75549040a132720611aaa3527c3b34 /sql/opt_table_elimination.cc
parent9400700b995d00021819f4c483a07975a3ce60d7 (diff)
downloadmariadb-git-de41681afaa15345425a6d2bea8a43c717d77bb1.tar.gz
MWL#17: Table elimination
- More test coverage - Remove unused code
Diffstat (limited to 'sql/opt_table_elimination.cc')
-rw-r--r--sql/opt_table_elimination.cc13
1 files changed, 3 insertions, 10 deletions
diff --git a/sql/opt_table_elimination.cc b/sql/opt_table_elimination.cc
index d59200806a8..d3e916520db 100644
--- a/sql/opt_table_elimination.cc
+++ b/sql/opt_table_elimination.cc
@@ -490,7 +490,7 @@ void build_eq_mods_for_cond(Func_dep_analyzer *fda, Equality_module **eq_mod,
{
Item *tmp=new Item_null;
if (tmp)
- add_eq_mod(fda, eq_mod, *and_level, cond_func, args[0], args[1]);
+ add_eq_mod(fda, eq_mod, *and_level, cond_func, args[0], tmp);
break;
}
case Item_func::MULT_EQUAL_FUNC:
@@ -828,7 +828,7 @@ static Table_value *get_table_value(Func_dep_analyzer *fda, TABLE *table)
{
Table_value *tbl_dep;
if (!(tbl_dep= new Table_value(table)))
- return NULL; /* purecov: inspected */
+ return NULL;
Key_module **key_list= &(tbl_dep->keys);
/* Add dependencies for unique keys */
@@ -853,15 +853,8 @@ static Table_value *get_table_value(Func_dep_analyzer *fda, TABLE *table)
static Field_value *get_field_value(Func_dep_analyzer *fda, Field *field)
{
TABLE *table= field->table;
- Table_value *tbl_dep;
+ Table_value *tbl_dep= fda->table_deps[table->tablenr];
- /* First, get the table*/
- if (!(tbl_dep= fda->table_deps[table->tablenr]))
- {
- if (!(tbl_dep= get_table_value(fda, table)))
- return NULL;
- }
-
/* Try finding the field in field list */
Field_value **pfield= &(tbl_dep->fields);
while (*pfield && (*pfield)->field->field_index < field->field_index)