diff options
author | Sergei Golubchik <sergii@pisem.net> | 2013-04-06 15:14:46 +0200 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2013-04-06 15:14:46 +0200 |
commit | 6770a9a836fcc8aa9f49f6b91ce237851638916b (patch) | |
tree | 7bb7d4fd838813b1fd7054c6c32a79b5541561cf /sql/sql_select.cc | |
parent | 385de8743added00cfaece08720e3a9a789760a5 (diff) | |
download | mariadb-git-6770a9a836fcc8aa9f49f6b91ce237851638916b.tar.gz |
MDEV-4316 MariaDB server crash with signal 11
fulltext search was initialized for all MATCH ... AGAINST items
at the end of the JOIN::optimize(). But since 5.3 derived tables
are initialized lazily on first use, very late in the sub_select().
Skip Item_func_match::init_search initialization if the corresponding
table isn't open yet; repeat fulltext initialization for all
not-yet-initialized MATCH ... AGAINST items after creating derived tables.
Diffstat (limited to 'sql/sql_select.cc')
-rw-r--r-- | sql/sql_select.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc index e0a670bdf1c..6432142597f 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -10191,6 +10191,11 @@ bool JOIN_TAB::preread_init() preread_init_done= TRUE; if (select && select->quick) select->quick->replace_handler(table->file); + + /* init ftfuns for just initialized derived table */ + if (table->fulltext_searched) + init_ftfuncs(join->thd, join->select_lex, test(join->order)); + return FALSE; } |