summaryrefslogtreecommitdiff
path: root/sql/item_func.cc
diff options
context:
space:
mode:
authorSergey Glukhov <Sergey.Glukhov@sun.com>2010-10-18 15:06:15 +0400
committerSergey Glukhov <Sergey.Glukhov@sun.com>2010-10-18 15:06:15 +0400
commit318b590b0afdc9d033e0665904678556abe998c8 (patch)
tree21c1dd398cdef62f276220edf43af4534c631c2d /sql/item_func.cc
parent2cf62cf2ef0ef4644564103e40268611a84b218a (diff)
parent127c721cef2c1b248af79a386c174a5e7addd556 (diff)
downloadmariadb-git-318b590b0afdc9d033e0665904678556abe998c8.tar.gz
5.1-security->5.5-security merge
Diffstat (limited to 'sql/item_func.cc')
-rw-r--r--sql/item_func.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/sql/item_func.cc b/sql/item_func.cc
index 7906ed71bc7..5fe1a005c74 100644
--- a/sql/item_func.cc
+++ b/sql/item_func.cc
@@ -5677,7 +5677,17 @@ void Item_func_match::init_search(bool no_order)
/* Check if init_search() has been called before */
if (ft_handler)
+ {
+ /*
+ We should reset ft_handler as it is cleaned up
+ on destruction of FT_SELECT object
+ (necessary in case of re-execution of subquery).
+ TODO: FT_SELECT should not clean up ft_handler.
+ */
+ if (join_key)
+ table->file->ft_handler= ft_handler;
DBUG_VOID_RETURN;
+ }
if (key == NO_SUCH_KEY)
{