diff options
author | Sergey Vojtovich <svoj@mysql.com> | 2008-12-17 17:24:34 +0400 |
---|---|---|
committer | Sergey Vojtovich <svoj@mysql.com> | 2008-12-17 17:24:34 +0400 |
commit | 3a42aab81c2f9b49a5f8ee3ed69af2d8fd1d5b0f (patch) | |
tree | b4187eed5fe207190f6709ef28a341f7546aaed6 /mysql-test/mysql-test-run.pl | |
parent | 0077ba49400a58e2b35181f8b9d6e78314a9b36f (diff) | |
download | mariadb-git-3a42aab81c2f9b49a5f8ee3ed69af2d8fd1d5b0f.tar.gz |
BUG#39746 - Debug flag breaks struct definition
(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.
Diffstat (limited to 'mysql-test/mysql-test-run.pl')
-rwxr-xr-x | mysql-test/mysql-test-run.pl | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index 20a0b639e84..a6105d2edff 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -163,6 +163,7 @@ our $exe_my_print_defaults; our $exe_perror; our $lib_udf_example; our $lib_example_plugin; +our $lib_simple_parser; our $exe_libtool; our $opt_bench= 0; @@ -1717,6 +1718,10 @@ sub executable_setup () { mtr_file_exists(vs_config_dirs('storage/example', 'ha_example.dll'), "$glob_basedir/storage/example/.libs/ha_example.so",); + # Look for the simple_parser library + $lib_simple_parser= + mtr_file_exists(vs_config_dirs('plugin/fulltext', 'mypluglib.dll'), + "$glob_basedir/plugin/fulltext/.libs/mypluglib.so",); } # Look for mysqltest executable @@ -2200,6 +2205,14 @@ sub environment_setup () { ($lib_example_plugin ? "--plugin_dir=" . dirname($lib_example_plugin) : ""); # ---------------------------------------------------- + # Add the path where mysqld will find mypluglib.so + # ---------------------------------------------------- + $ENV{'SIMPLE_PARSER'}= + ($lib_simple_parser ? basename($lib_simple_parser) : ""); + $ENV{'SIMPLE_PARSER_OPT'}= + ($lib_simple_parser ? "--plugin_dir=" . dirname($lib_simple_parser) : ""); + + # ---------------------------------------------------- # Setup env so childs can execute myisampack and myisamchk # ---------------------------------------------------- $ENV{'MYISAMCHK'}= mtr_native_path(mtr_exe_exists( |