diff options
author | Igor Babaev <igor@askmonty.org> | 2011-07-08 16:39:28 -0700 |
---|---|---|
committer | Igor Babaev <igor@askmonty.org> | 2011-07-08 16:39:28 -0700 |
commit | 5ead4083ec052f458f13dc0bfbc2184dac7ee133 (patch) | |
tree | 7a1b5183628689b0361a5eab844f93c977561880 /sql/item.cc | |
parent | f222a5134050822deddcbd5e14e5b5a2296dbd15 (diff) | |
download | mariadb-git-5ead4083ec052f458f13dc0bfbc2184dac7ee133.tar.gz |
Fixed LP bug #806510.
The bug was caused by an incorrect code of the function
Item_direct_view_ref::replace_equal_field introduced in the
patch for bugs 717577, 724942. The function erroneously
returned the wrapped field instead of the Item_direct_view_ref
object itself in the cases when no replacement happened.
The bug masked two other minor bugs that could result in not
quite correct output of the EXPLAIN command for some queries.
They were fixed in the patch as well.
Diffstat (limited to 'sql/item.cc')
-rw-r--r-- | sql/item.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sql/item.cc b/sql/item.cc index 0f549b914eb..d3a43818d23 100644 --- a/sql/item.cc +++ b/sql/item.cc @@ -7527,7 +7527,7 @@ Item *Item_direct_view_ref::replace_equal_field(uchar *arg) field_item->set_item_equal(item_equal); Item *item= field_item->replace_equal_field(arg); field_item->set_item_equal(0); - return item; + return item != field_item ? item : this; } |