mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 04:22:27 +01:00
3a42aab81c
(server crash) Altering a table with fulltext index[es] which use pluggable fulltext parser may cause server crash in debug builds. The problem was that ALTER TABLE code wrongly assigned fulltext parser name. Also fixed that altering a table with fulltext index[es] leave stale fulltext parser locks, which prevent fulltext parsers from being uninstalled after ALTER TABLE. mysql-test/include/have_simple_parser.inc: Added support for testing simple fulltext parser. mysql-test/mysql-test-run.pl: Added support for testing simple fulltext parser. mysql-test/r/fulltext_plugin.result: A test case for BUG#39746. mysql-test/r/have_simple_parser.require: Added support for testing simple fulltext parser. mysql-test/t/fulltext_plugin-master.opt: A test case for BUG#39746. mysql-test/t/fulltext_plugin.test: A test case for BUG#39746. sql/sql_table.cc: Fixed that alter table wrongly assigns fulltext parser name. parser_name member is only available during table creation. When we open existing table we must get parser_name from plugin_ref, which is handled by plugin_name() macro. sql/table.cc: Moved code that releases fulltext parsers into free_table_share(). This fixes stale fulltext parser locks set by ALTER TABLE, which are preventing fulltext parsers from being uninstalled.
16 lines
395 B
C++
16 lines
395 B
C++
#
|
|
# Check if server has support for loading udf's
|
|
# i.e it will support dlopen
|
|
#
|
|
--require r/have_dynamic_loading.require
|
|
disable_query_log;
|
|
show variables like 'have_dynamic_loading';
|
|
enable_query_log;
|
|
|
|
#
|
|
# Check if the variable SIMPLE_PARSER is set
|
|
#
|
|
--require r/have_simple_parser.require
|
|
disable_query_log;
|
|
eval select LENGTH('$SIMPLE_PARSER') > 0 as 'have_simple_parser';
|
|
enable_query_log;
|