diff options
author | Sergey Petrunya <psergey@askmonty.org> | 2009-08-25 13:38:22 +0300 |
---|---|---|
committer | Sergey Petrunya <psergey@askmonty.org> | 2009-08-25 13:38:22 +0300 |
commit | de41681afaa15345425a6d2bea8a43c717d77bb1 (patch) | |
tree | 312af9c22c75549040a132720611aaa3527c3b34 /sql/opt_table_elimination.cc | |
parent | 9400700b995d00021819f4c483a07975a3ce60d7 (diff) | |
download | mariadb-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.cc | 13 |
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) |