diff options
author | unknown <bell@sanja.is.com.ua> | 2005-02-09 21:08:08 +0200 |
---|---|---|
committer | unknown <bell@sanja.is.com.ua> | 2005-02-09 21:08:08 +0200 |
commit | 86d5bfc42b11773d74aa04b014e4304e5a1b9440 (patch) | |
tree | b282078b0a55de48c5719097df453c4d80e1d4d9 /sql/item_subselect.cc | |
parent | fa657a0642fb02ba36b00ef23c06ae1eab710f61 (diff) | |
download | mariadb-git-86d5bfc42b11773d74aa04b014e4304e5a1b9440.tar.gz |
reverted patch for BUG#7351 (because of performance ussie)
Diffstat (limited to 'sql/item_subselect.cc')
-rw-r--r-- | sql/item_subselect.cc | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/sql/item_subselect.cc b/sql/item_subselect.cc index 16186b1a6d3..3a1e1918e55 100644 --- a/sql/item_subselect.cc +++ b/sql/item_subselect.cc @@ -825,8 +825,6 @@ Item_in_subselect::single_value_transformer(JOIN *join, select_lex->ref_pointer_array, (char *)"<ref>", this->full_name())); - if (!abort_on_null && left_expr->maybe_null) - item= new Item_cond_or(new Item_func_isnull(left_expr), item); /* AND and comparison functions can't be changed during fix_fields() we can assign select_lex->having here, and pass 0 as last @@ -872,8 +870,6 @@ Item_in_subselect::single_value_transformer(JOIN *join, select_lex->having_fix_field= 0; item= new Item_cond_or(item, new Item_func_isnull(orig_item)); - if (left_expr->maybe_null) - item= new Item_cond_or(new Item_func_isnull(left_expr), item); } item->name= (char *)in_additional_cond; /* @@ -894,13 +890,12 @@ Item_in_subselect::single_value_transformer(JOIN *join, we can assign select_lex->having here, and pass 0 as last argument (reference) to fix_fields() */ - item= func->create(expr, - new Item_null_helper(this, item, + select_lex->having= + join->having= + func->create(expr, + new Item_null_helper(this, item, (char *)"<no matter>", (char *)"<result>")); - if (!abort_on_null && left_expr->maybe_null) - item= new Item_cond_or(new Item_func_isnull(left_expr), item); - select_lex->having= join->having= item; select_lex->having_fix_field= 1; if (join->having->fix_fields(thd, join->tables_list, 0)) |