diff --git a/mysql-test/include/have_example_plugin.inc b/mysql-test/include/have_example_plugin.inc index a2fffc17b97..a344b79700b 100644 --- a/mysql-test/include/have_example_plugin.inc +++ b/mysql-test/include/have_example_plugin.inc @@ -5,9 +5,9 @@ --source include/have_dynamic_loading.inc # -# Check if the variable EXAMPLE_PLUGIN is set +# Check if the variable HA_EXAMPLE_SO is set # --require r/have_example_plugin.require disable_query_log; -eval select LENGTH('$EXAMPLE_PLUGIN') > 0 as 'have_example_plugin'; +eval select LENGTH('$HA_EXAMPLE_SO') > 0 as 'have_example_plugin'; enable_query_log; diff --git a/mysql-test/include/have_simple_parser.inc b/mysql-test/include/have_simple_parser.inc index 5a4dc93ec81..44187c4331b 100644 --- a/mysql-test/include/have_simple_parser.inc +++ b/mysql-test/include/have_simple_parser.inc @@ -9,5 +9,5 @@ # --require r/have_simple_parser.require disable_query_log; -eval select LENGTH('$SIMPLE_PARSER') > 0 as 'have_simple_parser'; +eval select LENGTH('$MYPLUGLIB_SO') > 0 as 'have_simple_parser'; enable_query_log; diff --git a/mysql-test/include/have_udf.inc b/mysql-test/include/have_udf.inc index 7be57bbb7a9..cb8ba3f5ccd 100644 --- a/mysql-test/include/have_udf.inc +++ b/mysql-test/include/have_udf.inc @@ -9,5 +9,5 @@ # --require r/have_udf_example.require disable_query_log; -eval select LENGTH('$UDF_EXAMPLE_LIB') > 0 as 'have_udf_example_lib'; +eval select LENGTH('$UDF_EXAMPLE_SO') > 0 as 'have_udf_example_lib'; enable_query_log; diff --git a/mysql-test/include/rpl_udf.inc b/mysql-test/include/rpl_udf.inc index 30f39d79d49..3b4ddc2b897 100644 --- a/mysql-test/include/rpl_udf.inc +++ b/mysql-test/include/rpl_udf.inc @@ -27,13 +27,13 @@ drop table if exists t1; --echo "*** Test 1) Test UDFs via loadable libraries *** --echo "Running on the master" --enable_info ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB -eval CREATE FUNCTION myfunc_double RETURNS REAL SONAME "$UDF_EXAMPLE_LIB"; ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB -eval CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "$UDF_EXAMPLE_LIB"; ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB +eval CREATE FUNCTION myfunc_double RETURNS REAL SONAME "$UDF_EXAMPLE_SO"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB +eval CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "$UDF_EXAMPLE_SO"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB --error ER_CANT_FIND_DL_ENTRY -eval CREATE FUNCTION myfunc_nonexist RETURNS INTEGER SONAME "$UDF_EXAMPLE_LIB"; +eval CREATE FUNCTION myfunc_nonexist RETURNS INTEGER SONAME "$UDF_EXAMPLE_SO"; --replace_column 3 UDF_LIB SELECT * FROM mysql.func ORDER BY name; --disable_info diff --git a/mysql-test/lib/My/File/Path.pm b/mysql-test/lib/My/File/Path.pm index 25a26568eee..6e6d23ad9f0 100644 --- a/mysql-test/lib/My/File/Path.pm +++ b/mysql-test/lib/My/File/Path.pm @@ -18,7 +18,7 @@ use strict; use Exporter; use base "Exporter"; -our @EXPORT= qw / rmtree mkpath copytree /; +our @EXPORT= qw /rmtree mkpath copytree/; use File::Find; use File::Copy; diff --git a/mysql-test/lib/mtr_cases.pm b/mysql-test/lib/mtr_cases.pm index 1a27f94acb1..7d404621f85 100644 --- a/mysql-test/lib/mtr_cases.pm +++ b/mysql-test/lib/mtr_cases.pm @@ -55,7 +55,7 @@ sub collect_option { } use File::Basename; -use File::Spec::Functions qw / splitdir /; +use File::Spec::Functions qw /splitdir/; use IO::File(); use My::Config; use My::Platform; @@ -68,22 +68,9 @@ require "mtr_misc.pl"; my $do_test_reg; my $skip_test_reg; -# Related to adding InnoDB plugin combinations -my $lib_innodb_plugin; - # If "Quick collect", set to 1 once a test to run has been found. my $some_test_found; -sub find_innodb_plugin { - $lib_innodb_plugin= - my_find_file($::basedir, - ["storage/innodb_plugin", "storage/innodb_plugin/.libs", - "lib/mysql/plugin", "lib/mariadb/plugin", "lib/plugin"], - ["ha_innodb_plugin.dll", "ha_innodb_plugin.so", - "ha_innodb_plugin.sl"], - NOT_REQUIRED); -} - sub init_pattern { my ($from, $what)= @_; return undef unless defined $from; @@ -116,8 +103,6 @@ sub collect_test_cases ($$$) { $do_test_reg= init_pattern($do_test, "--do-test"); $skip_test_reg= init_pattern($skip_test, "--skip-test"); - &find_innodb_plugin; - # If not reordering, we also shouldn't group by suites, unless # no test cases were named. # This also effects some logic in the loop following this. @@ -966,36 +951,6 @@ sub collect_one_test_case { return $tinfo; } } - elsif ( $tinfo->{'innodb_plugin_test'} ) - { - # This is a test that needs the innodb plugin - if (!&find_innodb_plugin) - { - # innodb plugin is not supported, skip it - $tinfo->{'skip'}= 1; - $tinfo->{'comment'}= "No innodb plugin support"; - return $tinfo; - } - - my $sep= (IS_WINDOWS) ? ';' : ':'; - my $plugin_filename= basename($lib_innodb_plugin); - my $plugin_list= - "innodb=$plugin_filename$sep" . - "innodb_trx=$plugin_filename$sep" . - "innodb_locks=$plugin_filename$sep" . - "innodb_lock_waits=$plugin_filename$sep" . - "innodb_cmp=$plugin_filename$sep" . - "innodb_cmp_reset=$plugin_filename$sep" . - "innodb_cmpmem=$plugin_filename$sep" . - "innodb_cmpmem_reset=$plugin_filename"; - - foreach my $k ('master_opt', 'slave_opt') - { - push(@{$tinfo->{$k}}, '--ignore-builtin-innodb'); - push(@{$tinfo->{$k}}, '--plugin-dir=' . dirname($lib_innodb_plugin)); - push(@{$tinfo->{$k}}, "--plugin-load=$plugin_list"); - } - } else { push(@{$tinfo->{'master_opt'}}, "--loose-skip-innodb"); @@ -1113,7 +1068,7 @@ sub collect_one_test_case { if ( $tinfo->{'example_plugin_test'} ) { - if ( !$ENV{'EXAMPLE_PLUGIN'} ) + if ( !$ENV{'HA_EXAMPLE_SO'} ) { $tinfo->{'skip'}= 1; $tinfo->{'comment'}= "Test requires the 'example' plugin"; @@ -1123,7 +1078,7 @@ sub collect_one_test_case { if ( $tinfo->{'oqgraph_test'} ) { - if ( !$ENV{'OQGRAPH_PLUGIN'} ) + if ( !$ENV{'GRAPH_ENGINE_SO'} ) { $tinfo->{'skip'}= 1; $tinfo->{'comment'}= "Test requires the OQGraph storage engine"; @@ -1175,7 +1130,7 @@ my @tags= ["include/have_innodb.inc", "innodb_test", 1], ["include/have_pbxt.inc", "pbxt_test", 1], - ["include/have_innodb_plugin.inc", "innodb_plugin_test", 1], + ["include/have_innodb_plugin.inc", "innodb_test", 1], ["include/big_test.inc", "big_test", 1], ["include/have_debug.inc", "need_debug", 1], ["include/have_ndb.inc", "ndb_test", 1], diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index 52859242c82..66478d2e12a 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -69,7 +69,7 @@ use File::Basename; use File::Copy; use File::Find; use File::Temp qw/tempdir/; -use File::Spec::Functions qw/splitdir/; +use File::Spec::Functions qw/splitdir rel2abs/; use My::Platform; use My::SafeProcess; use My::ConfigFactory; @@ -106,6 +106,7 @@ our $path_testlog; our $default_vardir; our $opt_vardir; # Path to use for var/ dir +our $plugindir; my $path_vardir_trace; # unix formatted opt_vardir for trace files my $opt_tmpdir; # Path to use for tmp/ dir my $opt_tmpdir_pid; @@ -315,8 +316,25 @@ sub main { } } - # Check for plugin availability so we know whether to skip tests or not. - detect_plugins(); + print "vardir: $opt_vardir\n"; + initialize_servers(); + + mtr_report("Checking supported features..."); + if (using_extern()) + { + # Connect to the running mysqld and find out what it supports + collect_mysqld_features_from_running_server(); + } + else + { + # Run the mysqld to find out what features are available + collect_mysqld_features(); + } + check_ndbcluster_support(\%mysqld_variables); + check_ssl_support(\%mysqld_variables); + check_debug_support(\%mysqld_variables); + + executable_setup(); mtr_report("Collecting tests..."); my $tests= collect_test_cases($opt_reorder, $opt_suites, \@opt_cases); @@ -335,9 +353,6 @@ sub main { unshift(@$tests, $tinfo); } - print "vardir: $opt_vardir\n"; - initialize_servers(); - ####################################################################### my $num_tests= @$tests; if ( $opt_parallel eq "auto" ) { @@ -1031,6 +1046,8 @@ sub command_line_setup { $basedir= dirname($basedir); } + fix_vs_config_dir(); + # Look for the client binaries directory if ($path_client_bindir) { @@ -1041,7 +1058,7 @@ sub command_line_setup { { $path_client_bindir= mtr_path_exists("$basedir/client_release", "$basedir/client_debug", - vs_config_dirs('client', ''), + "$basedir/client$opt_vs_config", "$basedir/client", "$basedir/bin"); } @@ -1055,17 +1072,6 @@ sub command_line_setup { my $path_share= dirname($path_language); $path_charsetsdir= mtr_path_exists("$path_share/charsets"); - if (using_extern()) - { - # Connect to the running mysqld and find out what it supports - collect_mysqld_features_from_running_server(); - } - else - { - # Run the mysqld to find out what features are available - collect_mysqld_features(); - } - if ( $opt_comment ) { mtr_report(); @@ -1288,7 +1294,7 @@ sub command_line_setup { # Add the location for libmysqld.dll to the path. my $separator= ";"; my $lib_mysqld= - mtr_path_exists(vs_config_dirs('libmysqld','')); + mtr_path_exists("$basedir/libmysqld$opt_vs_config"); if ( IS_CYGWIN ) { $lib_mysqld= posix_path($lib_mysqld); @@ -1475,15 +1481,6 @@ sub command_line_setup { { push(@opt_extra_mysqld_opt, "--loose-skip-innodb-use-sys-malloc"); } - - mtr_report("Checking supported features..."); - - check_ndbcluster_support(\%mysqld_variables); - check_ssl_support(\%mysqld_variables); - check_debug_support(\%mysqld_variables); - - executable_setup(); - } @@ -1549,13 +1546,6 @@ sub set_build_thread_ports($) { sub collect_mysqld_features { my $found_variable_list_start= 0; - my $use_tmpdir; - if ( defined $opt_tmpdir and -d $opt_tmpdir){ - # Create the tempdir in $opt_tmpdir - $use_tmpdir= $opt_tmpdir; - } - my $tmpdir= tempdir(CLEANUP => 0, # Directory removed by this function - DIR => $use_tmpdir); # # Execute "mysqld --no-defaults --help --verbose" to get a @@ -1569,9 +1559,11 @@ sub collect_mysqld_features { my $args; mtr_init_args(\$args); mtr_add_arg($args, "--no-defaults"); - mtr_add_arg($args, "--datadir=%s", mixed_path($tmpdir)); + mtr_add_arg($args, "--datadir=%s/tmp", $opt_vardir); + mtr_add_arg($args, "--basedir=%s", $basedir); mtr_add_arg($args, "--language=%s", $path_language); mtr_add_arg($args, "--skip-grant-tables"); + mtr_add_arg($args, $_) for (@opt_extra_mysqld_opt); my $euid= $>; if (!IS_WINDOWS and $euid == 0) { mtr_add_arg($args, "--user=root"); @@ -1644,7 +1636,6 @@ sub collect_mysqld_features { } } } - rmtree($tmpdir); mtr_error("Could not find version of MySQL") unless $mysql_version_id; mtr_error("Could not find variabes list") unless $found_variable_list_start; @@ -1761,8 +1752,7 @@ sub executable_setup () { if ( $opt_embedded_server ) { $exe_mysqltest= - mtr_exe_exists(vs_config_dirs('libmysqld/examples','mysqltest_embedded'), - "$basedir/libmysqld/examples/mysqltest_embedded", + mtr_exe_exists("$basedir/libmysqld/examples$opt_vs_config/mysqltest_embedded", "$path_client_bindir/mysqltest_embedded"); } else @@ -1871,12 +1861,10 @@ sub mysql_client_test_arguments(){ # mysql_client_test executable may _not_ exist if ( $opt_embedded_server ) { $exe= mtr_exe_maybe_exists( - vs_config_dirs('libmysqld/examples','mysql_client_test_embedded'), - "$basedir/libmysqld/examples/mysql_client_test_embedded", + "$basedir/libmysqld/examples$opt_vs_config/mysql_client_test_embedded", "$basedir/bin/mysql_client_test_embedded"); } else { - $exe= mtr_exe_maybe_exists(vs_config_dirs('tests', 'mysql_client_test'), - "$basedir/tests/mysql_client_test", + $exe= mtr_exe_maybe_exists("$basedir/tests$opt_vs_config/mysql_client_test", "$basedir/bin/mysql_client_test"); } @@ -1925,65 +1913,6 @@ sub have_maria_support () { return defined $maria_var and $maria_var eq 'TRUE'; } - -# Detect plugin presense and set environment variables appropriately. -# This needs to be done early, so we can know whether to skip tests. -sub detect_plugins { - # -------------------------------------------------------------------------- - # Add the path where mysqld will find ha_example.so - # -------------------------------------------------------------------------- - if ($mysql_version_id >= 50100) { - my $plugin_filename; - if (IS_WINDOWS) - { - $plugin_filename = "ha_example.dll"; - } - else - { - $plugin_filename = "ha_example.so"; - } - my $lib_example_plugin= - mtr_file_exists(vs_config_dirs('storage/example',$plugin_filename), - "$basedir/storage/example/.libs/".$plugin_filename, - "$basedir/lib/mariadb/plugin/".$plugin_filename, - "$basedir/lib/mysql/plugin/".$plugin_filename); - $ENV{'EXAMPLE_PLUGIN'}= - ($lib_example_plugin ? basename($lib_example_plugin) : ""); - $ENV{'EXAMPLE_PLUGIN_OPT'}= "--plugin-dir=". - ($lib_example_plugin ? dirname($lib_example_plugin) : ""); - - $ENV{'HA_EXAMPLE_SO'}="'".$plugin_filename."'"; - $ENV{'EXAMPLE_PLUGIN_LOAD'}="--plugin_load=EXAMPLE=".$plugin_filename; - } - - # -------------------------------------------------------------------------- - # Add the path where mysqld will find graph_engine.so - # -------------------------------------------------------------------------- - if ($mysql_version_id >= 50100 && !(IS_WINDOWS && $opt_embedded_server)) { - my $plugin_filename; - if (IS_WINDOWS) - { - $plugin_filename = "oqgraph_engine.dll"; - } - else - { - $plugin_filename = "oqgraph_engine.so"; - } - my $lib_oqgraph_plugin= - mtr_file_exists(vs_config_dirs('storage/oqgraph',$plugin_filename), - "$basedir/storage/oqgraph/.libs/".$plugin_filename, - "$basedir/lib/mariadb/plugin/".$plugin_filename, - "$basedir/lib/mysql/plugin/".$plugin_filename); - $ENV{'OQGRAPH_PLUGIN'}= - ($lib_oqgraph_plugin ? basename($lib_oqgraph_plugin) : ""); - $ENV{'OQGRAPH_PLUGIN_OPT'}= "--plugin-dir=". - ($lib_oqgraph_plugin ? dirname($lib_oqgraph_plugin) : ""); - - $ENV{'GRAPH_ENGINE_SO'}="'".$plugin_filename."'"; - $ENV{'OQGRAPH_PLUGIN_LOAD'}="--plugin_load=;OQGRAPH=".$plugin_filename.";"; - } -} - # # Set environment to be used by childs of this process for # things that are constant during the whole lifetime of mysql-test-run @@ -2023,39 +1952,6 @@ sub environment_setup { push(@ld_library_paths, "$basedir/storage/ndb/src/.libs"); } - # -------------------------------------------------------------------------- - # Add the path where mysqld will find udf_example.so - # -------------------------------------------------------------------------- - my $lib_udf_example= - mtr_file_exists(vs_config_dirs('sql', 'udf_example.dll'), - "$basedir/sql/.libs/udf_example.so", - "$basedir/lib/mariadb/plugin/udf_example.so", - "$basedir/lib/mysql/plugin/udf_example.so",); - - if ( $lib_udf_example ) - { - push(@ld_library_paths, dirname($lib_udf_example)); - } - - $ENV{'UDF_EXAMPLE_LIB'}= - ($lib_udf_example ? basename($lib_udf_example) : ""); - $ENV{'UDF_EXAMPLE_LIB_OPT'}= "--plugin-dir=". - ($lib_udf_example ? dirname($lib_udf_example) : ""); - - # ---------------------------------------------------- - # Add the path where mysqld will find mypluglib.so - # ---------------------------------------------------- - my $lib_simple_parser= - mtr_file_exists(vs_config_dirs('plugin/fulltext', 'mypluglib.dll'), - "$basedir/plugin/fulltext/.libs/mypluglib.so", - "$basedir/lib/mariadb/plugin/mypluglib.so", - "$basedir/lib/mysql/plugin/mypluglib.so",); - - $ENV{'SIMPLE_PARSER'}= - ($lib_simple_parser ? basename($lib_simple_parser) : ""); - $ENV{'SIMPLE_PARSER_OPT'}= "--plugin-dir=". - ($lib_simple_parser ? dirname($lib_simple_parser) : ""); - # -------------------------------------------------------------------------- # Valgrind need to be run with debug libraries otherwise it's almost # impossible to add correct supressions, that means if "/usr/lib/debug" @@ -2182,8 +2078,7 @@ sub environment_setup { # some versions, test using it should be skipped # ---------------------------------------------------- my $exe_bug25714= - mtr_exe_maybe_exists(vs_config_dirs('tests', 'bug25714'), - "$basedir/tests/bug25714"); + mtr_exe_maybe_exists("$basedir/tests$opt_vs_config/bug25714"); $ENV{'MYSQL_BUG25714'}= native_path($exe_bug25714); # ---------------------------------------------------- @@ -2200,9 +2095,8 @@ sub environment_setup { # my_print_defaults # ---------------------------------------------------- my $exe_my_print_defaults= - mtr_exe_exists(vs_config_dirs('extra', 'my_print_defaults'), - "$path_client_bindir/my_print_defaults", - "$basedir/extra/my_print_defaults"); + mtr_exe_exists("$basedir/extra$opt_vs_config/my_print_defaults", + "$path_client_bindir/my_print_defaults"); $ENV{'MYSQL_MY_PRINT_DEFAULTS'}= native_path($exe_my_print_defaults); # ---------------------------------------------------- @@ -2225,8 +2119,7 @@ sub environment_setup { # ---------------------------------------------------- # perror # ---------------------------------------------------- - my $exe_perror= mtr_exe_exists(vs_config_dirs('extra', 'perror'), - "$basedir/extra/perror", + my $exe_perror= mtr_exe_exists("$basedir/extra$opt_vs_config/perror", "$path_client_bindir/perror"); $ENV{'MY_PERROR'}= native_path($exe_perror); @@ -2324,7 +2217,11 @@ sub remove_stale_vardir () { rmtree("$opt_tmpdir/"); } - +sub set_plugin_var($) { + local $_ = $_[0]; + s/\.\w+$//; + $ENV{"\U${_}_SO"} = $_[0]; +} # # Create var and the directories needed in var @@ -2389,6 +2286,44 @@ sub setup_vardir() { # and make them world readable copytree("$glob_mysql_test_dir/std_data", "$opt_vardir/std_data", "0022"); + # create a plugin dir and copy plugins into it + if ($source_dist) + { + $plugindir="$opt_vardir/plugins"; + unshift (@opt_extra_mysqld_opt, "--plugin-dir=$plugindir"); + mkpath($plugindir); + if (IS_WINDOWS) + { + for (<../storage/*$opt_vs_config/*.dll>, + <../plugin/*$opt_vs_config/*.dll>, + <../sql$opt_vs_config/*.dll>) + { + my $pname=basename($_); + copy rel2abs($_), "$plugindir/$pname"; + set_plugin_var($pname); + } + } + else + { + for (<../storage/*/.libs/*.so>,<../plugin/*/.libs/*.so>,<../sql/.libs/*.so>) + { + my $pname=basename($_); + symlink rel2abs($_), "$plugindir/$pname"; + set_plugin_var($pname); + } + } + } + else + { + # hm, what paths work for debs and for rpms ? + for (<$basedir/lib/mysql/plugin/*.so>, + <$basedir/lib/plugin/*.dll>) + { + my $pname=basename($_); + set_plugin_var($pname); + } + } + # Remove old log files foreach my $name (glob("r/*.progress r/*.log r/*.warnings")) { @@ -2479,29 +2414,36 @@ sub check_debug_support ($) { # -# Helper function to handle configuration-based subdirectories which Visual -# Studio uses for storing binaries. If opt_vs_config is set, this returns -# a path based on that setting; if not, it returns paths for the default -# /release/ and /debug/ subdirectories. +# Helper function to find the correct value for the opt_vs_config +# if it was not set explicitly. +# +# the configuration with the most recent build dir in sql/ is selected. # -# $exe can be undefined, if the directory itself will be used +# note: looking for all BuildLog.htm files everywhere in the tree with the +# help of File::Find would be possibly more precise, but it is also +# many times slower. Thus we are only looking at the server, client +# executables, and plugins - that is, something that can affect the test suite # -sub vs_config_dirs ($$) { - my ($path_part, $exe) = @_; +sub fix_vs_config_dir () { + return $opt_vs_config="" unless IS_WINDOWS; + return $opt_vs_config="/$opt_vs_config" if $opt_vs_config; - $exe = "" if not defined $exe; + my $modified = 1e30; + $opt_vs_config=""; - # Don't look in these dirs when not on windows - return () unless IS_WINDOWS; - - if ($opt_vs_config) - { - return ("$basedir/$path_part/$opt_vs_config/$exe"); + for my $dir (qw(client/*.dir libmysql/libmysql.dir sql/mysqld.dir + sql/udf_example.dir storage/*/*.dir plugin/*/*.dir)) { + for (<$basedir/$dir/*/BuildLog.htm>) { + if (-M $_ < $modified) + { + $modified = -M _; + $opt_vs_config = basename(dirname($_)); + } + } } - return ("$basedir/$path_part/release/$exe", - "$basedir/$path_part/relwithdebinfo/$exe", - "$basedir/$path_part/debug/$exe"); + mtr_report("VS config: $opt_vs_config"); + $opt_vs_config="/$opt_vs_config" if $opt_vs_config; } diff --git a/mysql-test/r/information_schema.result b/mysql-test/r/information_schema.result index 7b9fc368af1..9d5b6b25ff4 100644 --- a/mysql-test/r/information_schema.result +++ b/mysql-test/r/information_schema.result @@ -871,6 +871,9 @@ COLUMNS TABLE_NAME select COLUMN_PRIVILEGES TABLE_NAME select FILES TABLE_NAME select INDEX_STATISTICS TABLE_NAME select +INNODB_BUFFER_POOL_PAGES_INDEX table_name select +INNODB_INDEX_STATS table_name select +INNODB_TABLE_STATS table_name select KEY_COLUMN_USAGE TABLE_NAME select PARTITIONS TABLE_NAME select REFERENTIAL_CONSTRAINTS TABLE_NAME select @@ -880,9 +883,6 @@ TABLE_CONSTRAINTS TABLE_NAME select TABLE_PRIVILEGES TABLE_NAME select TABLE_STATISTICS TABLE_NAME select VIEWS TABLE_NAME select -INNODB_BUFFER_POOL_PAGES_INDEX table_name select -INNODB_TABLE_STATS table_name select -INNODB_INDEX_STATS table_name select delete from mysql.user where user='mysqltest_4'; delete from mysql.db where user='mysqltest_4'; flush privileges; diff --git a/mysql-test/r/innodb_ignore_builtin.result b/mysql-test/r/innodb_ignore_builtin.result index 4694a61b20a..e65cb3c7850 100644 --- a/mysql-test/r/innodb_ignore_builtin.result +++ b/mysql-test/r/innodb_ignore_builtin.result @@ -2,8 +2,5 @@ show variables like 'ignore_builtin_innodb'; Variable_name Value ignore_builtin_innodb ON select PLUGIN_NAME from information_schema.plugins -where PLUGIN_NAME = "InnoDb"; +where PLUGIN_NAME = "InnoDb" and PLUGIN_LIBRARY IS NULL; PLUGIN_NAME -select ENGINE from information_schema.engines -where ENGINE = "InnoDB"; -ENGINE diff --git a/mysql-test/suite/oqgraph/t/suite.opt b/mysql-test/suite/oqgraph/t/suite.opt index 4fe63014479..05985782664 100644 --- a/mysql-test/suite/oqgraph/t/suite.opt +++ b/mysql-test/suite/oqgraph/t/suite.opt @@ -1,2 +1 @@ -$OQGRAPH_PLUGIN_OPT -$OQGRAPH_PLUGIN_LOAD +--plugin-load=$GRAPH_ENGINE_SO diff --git a/mysql-test/suite/pbxt/t/udf-master.opt b/mysql-test/suite/pbxt/t/udf-master.opt deleted file mode 100644 index 7d8786c156a..00000000000 --- a/mysql-test/suite/pbxt/t/udf-master.opt +++ /dev/null @@ -1 +0,0 @@ -$UDF_EXAMPLE_LIB_OPT diff --git a/mysql-test/suite/pbxt/t/udf.test b/mysql-test/suite/pbxt/t/udf.test index ab430cc2416..addcdef2103 100644 --- a/mysql-test/suite/pbxt/t/udf.test +++ b/mysql-test/suite/pbxt/t/udf.test @@ -14,26 +14,26 @@ drop table if exists t1; # Create the example functions from udf_example # ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB -eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_LIB"; ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB -eval CREATE FUNCTION myfunc_double RETURNS REAL SONAME "$UDF_EXAMPLE_LIB"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB +eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_SO"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB +eval CREATE FUNCTION myfunc_double RETURNS REAL SONAME "$UDF_EXAMPLE_SO"; ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB --error ER_CANT_FIND_DL_ENTRY -eval CREATE FUNCTION myfunc_nonexist RETURNS INTEGER SONAME "$UDF_EXAMPLE_LIB"; ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB -eval CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "$UDF_EXAMPLE_LIB"; ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB -eval CREATE FUNCTION sequence RETURNS INTEGER SONAME "$UDF_EXAMPLE_LIB"; ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB -eval CREATE FUNCTION lookup RETURNS STRING SONAME "$UDF_EXAMPLE_LIB"; ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB +eval CREATE FUNCTION myfunc_nonexist RETURNS INTEGER SONAME "$UDF_EXAMPLE_SO"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB +eval CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "$UDF_EXAMPLE_SO"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB +eval CREATE FUNCTION sequence RETURNS INTEGER SONAME "$UDF_EXAMPLE_SO"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB +eval CREATE FUNCTION lookup RETURNS STRING SONAME "$UDF_EXAMPLE_SO"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB eval CREATE FUNCTION reverse_lookup - RETURNS STRING SONAME "$UDF_EXAMPLE_LIB"; ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB + RETURNS STRING SONAME "$UDF_EXAMPLE_SO"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB eval CREATE AGGREGATE FUNCTION avgcost - RETURNS REAL SONAME "$UDF_EXAMPLE_LIB"; + RETURNS REAL SONAME "$UDF_EXAMPLE_SO"; --error ER_CANT_INITIALIZE_UDF select myfunc_double(); @@ -207,14 +207,14 @@ CREATE FUNCTION metaphon(a int) RETURNS int return 0; # this currently passes, and eclipse the stored function ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB -eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_LIB"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB +eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_SO"; DROP FUNCTION metaphon; DROP FUNCTION metaphon; ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB -eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_LIB"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB +eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_SO"; --error ER_UDF_EXISTS CREATE FUNCTION metaphon(a int) RETURNS int @@ -245,8 +245,8 @@ DROP FUNCTION avgcost; # the UDF # select * from mysql.func; ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB -eval CREATE FUNCTION is_const RETURNS STRING SONAME "$UDF_EXAMPLE_LIB"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB +eval CREATE FUNCTION is_const RETURNS STRING SONAME "$UDF_EXAMPLE_SO"; select IS_const(3); @@ -260,8 +260,8 @@ select is_const(3); # # Bug#18761: constant expression as UDF parameters not passed in as constant # ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB -eval CREATE FUNCTION is_const RETURNS STRING SONAME "$UDF_EXAMPLE_LIB"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB +eval CREATE FUNCTION is_const RETURNS STRING SONAME "$UDF_EXAMPLE_SO"; select is_const(3) as const, @@ -300,14 +300,14 @@ drop function if exists is_const; # Bug #25382: Passing NULL to an UDF called from stored procedures # crashes server # ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB -eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_LIB"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB +eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_SO"; ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB -eval CREATE FUNCTION myfunc_double RETURNS REAL SONAME "$UDF_EXAMPLE_LIB"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB +eval CREATE FUNCTION myfunc_double RETURNS REAL SONAME "$UDF_EXAMPLE_SO"; ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB -eval CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "$UDF_EXAMPLE_LIB"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB +eval CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "$UDF_EXAMPLE_SO"; delimiter //; create function f1(p1 varchar(255)) @@ -345,8 +345,8 @@ drop function myfunc_int; # Bug #28921: Queries containing UDF functions are cached # ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB -eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_LIB"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB +eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_SO"; create table t1 (a char); set GLOBAL query_cache_size=1355776; @@ -374,8 +374,8 @@ DROP DATABASE IF EXISTS mysqltest; CREATE DATABASE mysqltest; USE mysqltest; DROP DATABASE mysqltest; ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB -eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_LIB"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB +eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_SO"; DROP FUNCTION metaphon; USE test; @@ -403,8 +403,8 @@ insert into const_len_bug values(str_const, result, ""); END | DELIMITER ;| ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB -eval CREATE FUNCTION check_const_len RETURNS string SONAME "$UDF_EXAMPLE_LIB"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB +eval CREATE FUNCTION check_const_len RETURNS string SONAME "$UDF_EXAMPLE_SO"; CALL check_const_len_sp("foo"); @@ -420,8 +420,8 @@ DROP TABLE const_len_bug; # Bug #30355: Incorrect ordering of UDF results # ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB -eval CREATE FUNCTION sequence RETURNS INTEGER SONAME "$UDF_EXAMPLE_LIB"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB +eval CREATE FUNCTION sequence RETURNS INTEGER SONAME "$UDF_EXAMPLE_SO"; CREATE TABLE t1 (a INT); CREATE TABLE t2 (a INT PRIMARY KEY); INSERT INTO t1 VALUES (4),(3),(2),(1); diff --git a/mysql-test/suite/rpl/t/rpl_plugin_load-master.opt b/mysql-test/suite/rpl/t/rpl_plugin_load-master.opt deleted file mode 100644 index 367d5233e0e..00000000000 --- a/mysql-test/suite/rpl/t/rpl_plugin_load-master.opt +++ /dev/null @@ -1 +0,0 @@ -$EXAMPLE_PLUGIN_OPT diff --git a/mysql-test/suite/rpl/t/rpl_plugin_load-slave.opt b/mysql-test/suite/rpl/t/rpl_plugin_load-slave.opt deleted file mode 100644 index 367d5233e0e..00000000000 --- a/mysql-test/suite/rpl/t/rpl_plugin_load-slave.opt +++ /dev/null @@ -1 +0,0 @@ -$EXAMPLE_PLUGIN_OPT diff --git a/mysql-test/suite/rpl/t/rpl_table_options-master.opt b/mysql-test/suite/rpl/t/rpl_table_options-master.opt deleted file mode 100644 index 367d5233e0e..00000000000 --- a/mysql-test/suite/rpl/t/rpl_table_options-master.opt +++ /dev/null @@ -1 +0,0 @@ -$EXAMPLE_PLUGIN_OPT diff --git a/mysql-test/suite/rpl/t/rpl_table_options.test b/mysql-test/suite/rpl/t/rpl_table_options.test index aaf5e89fdfd..b3d75bb0f95 100644 --- a/mysql-test/suite/rpl/t/rpl_table_options.test +++ b/mysql-test/suite/rpl/t/rpl_table_options.test @@ -3,7 +3,7 @@ --source include/master-slave.inc --replace_regex /\.dll/.so/ -eval install plugin example soname $HA_EXAMPLE_SO; +eval install plugin example soname '$HA_EXAMPLE_SO'; set storage_engine=example; sync_slave_with_master; diff --git a/mysql-test/suite/rpl/t/rpl_udf-master.opt b/mysql-test/suite/rpl/t/rpl_udf-master.opt deleted file mode 100644 index 7d8786c156a..00000000000 --- a/mysql-test/suite/rpl/t/rpl_udf-master.opt +++ /dev/null @@ -1 +0,0 @@ -$UDF_EXAMPLE_LIB_OPT diff --git a/mysql-test/suite/rpl/t/rpl_udf-slave.opt b/mysql-test/suite/rpl/t/rpl_udf-slave.opt deleted file mode 100644 index 7d8786c156a..00000000000 --- a/mysql-test/suite/rpl/t/rpl_udf-slave.opt +++ /dev/null @@ -1 +0,0 @@ -$UDF_EXAMPLE_LIB_OPT diff --git a/mysql-test/t/bug46261-master.opt b/mysql-test/t/bug46261-master.opt index 6be4269e809..5699a3387b8 100644 --- a/mysql-test/t/bug46261-master.opt +++ b/mysql-test/t/bug46261-master.opt @@ -1 +1 @@ ---skip-grant-tables $EXAMPLE_PLUGIN_OPT +--skip-grant-tables diff --git a/mysql-test/t/bug46261.test b/mysql-test/t/bug46261.test index 67bdc995850..9d8eecf3d52 100644 --- a/mysql-test/t/bug46261.test +++ b/mysql-test/t/bug46261.test @@ -7,7 +7,7 @@ --replace_regex /\.dll/.so/ --error ER_OPTION_PREVENTS_STATEMENT -eval INSTALL PLUGIN example SONAME $HA_EXAMPLE_SO; +eval INSTALL PLUGIN example SONAME '$HA_EXAMPLE_SO'; --replace_regex /\.dll/.so/ --error ER_OPTION_PREVENTS_STATEMENT diff --git a/mysql-test/t/fulltext_plugin-master.opt b/mysql-test/t/fulltext_plugin-master.opt deleted file mode 100644 index a2554caa20b..00000000000 --- a/mysql-test/t/fulltext_plugin-master.opt +++ /dev/null @@ -1 +0,0 @@ -$SIMPLE_PARSER_OPT diff --git a/mysql-test/t/information_schema.test b/mysql-test/t/information_schema.test index f791f0ed738..10bc3645898 100644 --- a/mysql-test/t/information_schema.test +++ b/mysql-test/t/information_schema.test @@ -531,6 +531,7 @@ drop table t1; grant select on test.* to mysqltest_4@localhost; connect (user10261,localhost,mysqltest_4,,); connection user10261; +--sorted_result SELECT TABLE_NAME, COLUMN_NAME, PRIVILEGES FROM INFORMATION_SCHEMA.COLUMNS where COLUMN_NAME='TABLE_NAME'; connection default; diff --git a/mysql-test/t/innodb_ignore_builtin.test b/mysql-test/t/innodb_ignore_builtin.test index 6f987bcf891..66f7e47b703 100644 --- a/mysql-test/t/innodb_ignore_builtin.test +++ b/mysql-test/t/innodb_ignore_builtin.test @@ -3,6 +3,4 @@ # show variables like 'ignore_builtin_innodb'; select PLUGIN_NAME from information_schema.plugins -where PLUGIN_NAME = "InnoDb"; -select ENGINE from information_schema.engines -where ENGINE = "InnoDB"; +where PLUGIN_NAME = "InnoDb" and PLUGIN_LIBRARY IS NULL; diff --git a/mysql-test/t/mysqld_option_err.test b/mysql-test/t/mysqld_option_err.test index 6e4183a6f8c..9c02dec51e6 100644 --- a/mysql-test/t/mysqld_option_err.test +++ b/mysql-test/t/mysqld_option_err.test @@ -44,7 +44,7 @@ mkdir $MYSQLTEST_VARDIR/tmp/mysqld_option_err; # See also Bug#32034. --echo Test that bad value for plugin enum option is rejected correctly. --error 7 ---exec $MYSQLD --skip-networking --datadir=$MYSQLTEST_VARDIR/tmp/mysqld_option_err --skip-grant-tables $EXAMPLE_PLUGIN_OPT --plugin-load=EXAMPLE=ha_example.so --plugin-example-enum-var=noexist >>$MYSQLTEST_VARDIR/tmp/mysqld_option_err/mysqltest.log 2>&1 +--exec $MYSQLD --skip-networking --datadir=$MYSQLTEST_VARDIR/tmp/mysqld_option_err --skip-grant-tables --plugin-dir=$MYSQLTEST_VARDIR/plugins --plugin-load=example=ha_example.so --plugin-example-enum-var=noexist >>$MYSQLTEST_VARDIR/tmp/mysqld_option_err/mysqltest.log 2>&1 # # Test that an wrong option with --help --verbose gives an error diff --git a/mysql-test/t/partition_example-master.opt b/mysql-test/t/partition_example-master.opt deleted file mode 100644 index 367d5233e0e..00000000000 --- a/mysql-test/t/partition_example-master.opt +++ /dev/null @@ -1 +0,0 @@ -$EXAMPLE_PLUGIN_OPT diff --git a/mysql-test/t/partition_example.test b/mysql-test/t/partition_example.test index e6ac1bd222a..8c1b92b2e33 100644 --- a/mysql-test/t/partition_example.test +++ b/mysql-test/t/partition_example.test @@ -3,7 +3,7 @@ --source include/have_partition.inc --replace_regex /\.dll/.so/ -eval install plugin example soname $HA_EXAMPLE_SO; +eval install plugin example soname '$HA_EXAMPLE_SO'; create table t1 (a int not null) engine=example diff --git a/mysql-test/t/plugin-master.opt b/mysql-test/t/plugin-master.opt deleted file mode 100644 index 367d5233e0e..00000000000 --- a/mysql-test/t/plugin-master.opt +++ /dev/null @@ -1 +0,0 @@ -$EXAMPLE_PLUGIN_OPT diff --git a/mysql-test/t/plugin.test b/mysql-test/t/plugin.test index 7a1ca27d589..55250b73ae5 100644 --- a/mysql-test/t/plugin.test +++ b/mysql-test/t/plugin.test @@ -5,15 +5,15 @@ CREATE TABLE t1(a int) ENGINE=EXAMPLE; DROP TABLE t1; --replace_regex /\.dll/.so/ -eval INSTALL PLUGIN example SONAME $HA_EXAMPLE_SO; +eval INSTALL PLUGIN example SONAME '$HA_EXAMPLE_SO'; --replace_regex /\.dll/.so/ --error 1125 -eval INSTALL PLUGIN EXAMPLE SONAME $HA_EXAMPLE_SO; +eval INSTALL PLUGIN EXAMPLE SONAME '$HA_EXAMPLE_SO'; UNINSTALL PLUGIN example; --replace_regex /\.dll/.so/ -eval INSTALL PLUGIN example SONAME $HA_EXAMPLE_SO; +eval INSTALL PLUGIN example SONAME '$HA_EXAMPLE_SO'; CREATE TABLE t1(a int) ENGINE=EXAMPLE; @@ -41,7 +41,7 @@ UNINSTALL PLUGIN non_exist; --echo # to impossible int val --echo # --replace_regex /\.dll/.so/ -eval INSTALL PLUGIN example SONAME $HA_EXAMPLE_SO; +eval INSTALL PLUGIN example SONAME '$HA_EXAMPLE_SO'; SET GLOBAL example_enum_var= e1; SET GLOBAL example_enum_var= e2; @@ -56,7 +56,7 @@ UNINSTALL PLUGIN example; # Bug #32757 hang with sql_mode set when setting some global variables # --replace_regex /\.dll/.so/ -eval INSTALL PLUGIN example SONAME $HA_EXAMPLE_SO; +eval INSTALL PLUGIN example SONAME '$HA_EXAMPLE_SO'; select @@session.sql_mode into @old_sql_mode; diff --git a/mysql-test/t/plugin_load-master.opt b/mysql-test/t/plugin_load-master.opt index bb7831c5769..aadeef2fb66 100644 --- a/mysql-test/t/plugin_load-master.opt +++ b/mysql-test/t/plugin_load-master.opt @@ -1,3 +1,2 @@ -$EXAMPLE_PLUGIN_OPT -$EXAMPLE_PLUGIN_LOAD +--plugin-load=EXAMPLE=$HA_EXAMPLE_SO --loose-plugin-example-enum-var=e2 diff --git a/mysql-test/t/plugin_not_embedded-master.opt b/mysql-test/t/plugin_not_embedded-master.opt deleted file mode 100644 index 367d5233e0e..00000000000 --- a/mysql-test/t/plugin_not_embedded-master.opt +++ /dev/null @@ -1 +0,0 @@ -$EXAMPLE_PLUGIN_OPT diff --git a/mysql-test/t/plugin_not_embedded.test b/mysql-test/t/plugin_not_embedded.test index 15aff548c29..11350e8c896 100644 --- a/mysql-test/t/plugin_not_embedded.test +++ b/mysql-test/t/plugin_not_embedded.test @@ -8,7 +8,7 @@ GRANT INSERT ON mysql.plugin TO bug51770@localhost; connect(con1,localhost,bug51770,,); --replace_regex /\.dll/.so/ -eval INSTALL PLUGIN example SONAME $HA_EXAMPLE_SO; +eval INSTALL PLUGIN example SONAME '$HA_EXAMPLE_SO'; --error ER_TABLEACCESS_DENIED_ERROR UNINSTALL PLUGIN example; connection default; diff --git a/mysql-test/t/udf-master.opt b/mysql-test/t/udf-master.opt deleted file mode 100644 index 7d8786c156a..00000000000 --- a/mysql-test/t/udf-master.opt +++ /dev/null @@ -1 +0,0 @@ -$UDF_EXAMPLE_LIB_OPT diff --git a/mysql-test/t/udf.test b/mysql-test/t/udf.test index 283bb1a833c..eff35d9805f 100644 --- a/mysql-test/t/udf.test +++ b/mysql-test/t/udf.test @@ -14,26 +14,26 @@ drop table if exists t1; # Create the example functions from udf_example # ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB -eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_LIB"; ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB -eval CREATE FUNCTION myfunc_double RETURNS REAL SONAME "$UDF_EXAMPLE_LIB"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB +eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_SO"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB +eval CREATE FUNCTION myfunc_double RETURNS REAL SONAME "$UDF_EXAMPLE_SO"; ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB --error ER_CANT_FIND_DL_ENTRY -eval CREATE FUNCTION myfunc_nonexist RETURNS INTEGER SONAME "$UDF_EXAMPLE_LIB"; ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB -eval CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "$UDF_EXAMPLE_LIB"; ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB -eval CREATE FUNCTION sequence RETURNS INTEGER SONAME "$UDF_EXAMPLE_LIB"; ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB -eval CREATE FUNCTION lookup RETURNS STRING SONAME "$UDF_EXAMPLE_LIB"; ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB +eval CREATE FUNCTION myfunc_nonexist RETURNS INTEGER SONAME "$UDF_EXAMPLE_SO"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB +eval CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "$UDF_EXAMPLE_SO"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB +eval CREATE FUNCTION sequence RETURNS INTEGER SONAME "$UDF_EXAMPLE_SO"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB +eval CREATE FUNCTION lookup RETURNS STRING SONAME "$UDF_EXAMPLE_SO"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB eval CREATE FUNCTION reverse_lookup - RETURNS STRING SONAME "$UDF_EXAMPLE_LIB"; ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB + RETURNS STRING SONAME "$UDF_EXAMPLE_SO"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB eval CREATE AGGREGATE FUNCTION avgcost - RETURNS REAL SONAME "$UDF_EXAMPLE_LIB"; + RETURNS REAL SONAME "$UDF_EXAMPLE_SO"; --error ER_CANT_INITIALIZE_UDF select myfunc_double(); @@ -210,14 +210,14 @@ CREATE FUNCTION metaphon(a int) RETURNS int return 0; # this currently passes, and eclipse the stored function ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB -eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_LIB"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB +eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_SO"; DROP FUNCTION metaphon; DROP FUNCTION metaphon; ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB -eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_LIB"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB +eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_SO"; --error ER_UDF_EXISTS CREATE FUNCTION metaphon(a int) RETURNS int @@ -248,8 +248,8 @@ DROP FUNCTION avgcost; # the UDF # select * from mysql.func; ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB -eval CREATE FUNCTION is_const RETURNS STRING SONAME "$UDF_EXAMPLE_LIB"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB +eval CREATE FUNCTION is_const RETURNS STRING SONAME "$UDF_EXAMPLE_SO"; select IS_const(3); @@ -263,8 +263,8 @@ select is_const(3); # # Bug#18761: constant expression as UDF parameters not passed in as constant # ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB -eval CREATE FUNCTION is_const RETURNS STRING SONAME "$UDF_EXAMPLE_LIB"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB +eval CREATE FUNCTION is_const RETURNS STRING SONAME "$UDF_EXAMPLE_SO"; select is_const(3) as const, @@ -303,14 +303,14 @@ drop function if exists is_const; # Bug #25382: Passing NULL to an UDF called from stored procedures # crashes server # ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB -eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_LIB"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB +eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_SO"; ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB -eval CREATE FUNCTION myfunc_double RETURNS REAL SONAME "$UDF_EXAMPLE_LIB"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB +eval CREATE FUNCTION myfunc_double RETURNS REAL SONAME "$UDF_EXAMPLE_SO"; ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB -eval CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "$UDF_EXAMPLE_LIB"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB +eval CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "$UDF_EXAMPLE_SO"; delimiter //; create function f1(p1 varchar(255)) @@ -354,8 +354,8 @@ DROP DATABASE IF EXISTS mysqltest; CREATE DATABASE mysqltest; USE mysqltest; DROP DATABASE mysqltest; ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB -eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_LIB"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB +eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_SO"; DROP FUNCTION metaphon; USE test; @@ -383,8 +383,8 @@ insert into const_len_bug values(str_const, result, ""); END | DELIMITER ;| ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB -eval CREATE FUNCTION check_const_len RETURNS string SONAME "$UDF_EXAMPLE_LIB"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB +eval CREATE FUNCTION check_const_len RETURNS string SONAME "$UDF_EXAMPLE_SO"; CALL check_const_len_sp("foo"); @@ -400,8 +400,8 @@ DROP TABLE const_len_bug; # Bug #30355: Incorrect ordering of UDF results # ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB -eval CREATE FUNCTION sequence RETURNS INTEGER SONAME "$UDF_EXAMPLE_LIB"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB +eval CREATE FUNCTION sequence RETURNS INTEGER SONAME "$UDF_EXAMPLE_SO"; CREATE TABLE t1 (a INT); CREATE TABLE t2 (a INT PRIMARY KEY); INSERT INTO t1 VALUES (4),(3),(2),(1); diff --git a/mysql-test/t/udf_query_cache-master.opt b/mysql-test/t/udf_query_cache-master.opt deleted file mode 100644 index 7d8786c156a..00000000000 --- a/mysql-test/t/udf_query_cache-master.opt +++ /dev/null @@ -1 +0,0 @@ -$UDF_EXAMPLE_LIB_OPT diff --git a/mysql-test/t/udf_query_cache.test b/mysql-test/t/udf_query_cache.test index cb64a2f1665..ce7bd43ea1f 100644 --- a/mysql-test/t/udf_query_cache.test +++ b/mysql-test/t/udf_query_cache.test @@ -14,8 +14,8 @@ drop table if exists t1; # Bug #28921: Queries containing UDF functions are cached # ---replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB -eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_LIB"; +--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB +eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_SO"; create table t1 (a char); set GLOBAL query_cache_size=1355776; diff --git a/storage/federated/Makefile.am b/storage/federated/Makefile.am index 64ea0207017..26786ee48cb 100644 --- a/storage/federated/Makefile.am +++ b/storage/federated/Makefile.am @@ -26,8 +26,6 @@ INCLUDES = -I$(top_srcdir)/include -I$(top_builddir)/include \ -I$(srcdir) WRAPLIBS= -LDADD = - DEFS = @DEFS@ noinst_HEADERS = ha_federated.h @@ -37,7 +35,7 @@ pkgplugin_LTLIBRARIES = @plugin_federated_shared_target@ ha_federated_la_LDFLAGS = -module -rpath $(pkgplugindir) ha_federated_la_CXXFLAGS= $(AM_CFLAGS) -DMYSQL_DYNAMIC_PLUGIN ha_federated_la_CFLAGS = $(AM_CFLAGS) -DMYSQL_DYNAMIC_PLUGIN -ha_federated_la_SOURCES = ha_federated.cc +ha_federated_la_SOURCES = ha_federated.cc $(top_srcdir)/mysys/string.c EXTRA_LIBRARIES = libfederated.a diff --git a/storage/federated/plug.in.disabled b/storage/federated/plug.in similarity index 76% rename from storage/federated/plug.in.disabled rename to storage/federated/plug.in index 23b607d699b..714888b2ebf 100644 --- a/storage/federated/plug.in.disabled +++ b/storage/federated/plug.in @@ -1,5 +1,5 @@ MYSQL_STORAGE_ENGINE(federated,,[Federated Storage Engine], - [Connects to tables on remote MySQL servers], [max,max-no-ndb]) + [Connects to tables on remote MySQL servers], []) MYSQL_PLUGIN_STATIC(federated, [libfederated.a]) MYSQL_PLUGIN_DYNAMIC(federated, [ha_federated.la]) MYSQL_PLUGIN_DEPENDS_ON_MYSQL_INTERNALS(federated, [ha_federated.cc]) diff --git a/storage/federatedx/Makefile.am b/storage/federatedx/Makefile.am index ad1328247ec..1781a53a0b6 100644 --- a/storage/federatedx/Makefile.am +++ b/storage/federatedx/Makefile.am @@ -18,14 +18,14 @@ DEFS = @DEFS@ noinst_HEADERS = ha_federatedx.h federatedx_probes.h EXTRA_LTLIBRARIES = ha_federatedx.la -pkgplugin_LTLIBRARIES = @plugin_federated_shared_target@ +pkgplugin_LTLIBRARIES = @plugin_federatedx_shared_target@ ha_federatedx_la_LDFLAGS = -module -rpath $(pkgplugindir) ha_federatedx_la_CXXFLAGS= $(AM_CFLAGS) -DMYSQL_DYNAMIC_PLUGIN ha_federatedx_la_CFLAGS = $(AM_CFLAGS) -DMYSQL_DYNAMIC_PLUGIN EXTRA_LIBRARIES = libfederatedx.a -noinst_LIBRARIES = @plugin_federated_static_target@ +noinst_LIBRARIES = @plugin_federatedx_static_target@ libfederatedx_a_CXXFLAGS = $(AM_CFLAGS) libfederatedx_a_CFLAGS = $(AM_CFLAGS) libfederatedx_a_SOURCES= ha_federatedx.cc federatedx_txn.cc \ diff --git a/storage/federatedx/ha_federatedx.cc b/storage/federatedx/ha_federatedx.cc index 9ba1e25a367..541c7550092 100644 --- a/storage/federatedx/ha_federatedx.cc +++ b/storage/federatedx/ha_federatedx.cc @@ -3495,7 +3495,7 @@ int ha_federatedx::rollback(handlerton *hton, MYSQL_THD thd, bool all) struct st_mysql_storage_engine federatedx_storage_engine= { MYSQL_HANDLERTON_INTERFACE_VERSION }; -mysql_declare_plugin(federated) +mysql_declare_plugin(federatedx) { MYSQL_STORAGE_ENGINE_PLUGIN, &federatedx_storage_engine, @@ -3511,7 +3511,7 @@ mysql_declare_plugin(federated) NULL /* config options */ } mysql_declare_plugin_end; -maria_declare_plugin(federated) +maria_declare_plugin(federatedx) { MYSQL_STORAGE_ENGINE_PLUGIN, &federatedx_storage_engine, diff --git a/storage/federatedx/plug.in b/storage/federatedx/plug.in index ee2e6af0e94..95afe270f4c 100644 --- a/storage/federatedx/plug.in +++ b/storage/federatedx/plug.in @@ -1,5 +1,5 @@ -MYSQL_STORAGE_ENGINE(federated,,[FederatedX Storage Engine], +MYSQL_STORAGE_ENGINE(federatedx,,[FederatedX Storage Engine], [FederatedX Storage Engine], [max,max-no-ndb]) -MYSQL_PLUGIN_DYNAMIC(federated, [ha_federatedx.la]) -MYSQL_PLUGIN_STATIC(federated, [libfederatedx.a]) -MYSQL_PLUGIN_DEPENDS_ON_MYSQL_INTERNALS(federated, [ha_federatedx.cc]) +MYSQL_PLUGIN_DYNAMIC(federatedx, [ha_federatedx.la]) +MYSQL_PLUGIN_STATIC(federatedx, [libfederatedx.a]) +MYSQL_PLUGIN_DEPENDS_ON_MYSQL_INTERNALS(federatedx, [ha_federatedx.cc]) diff --git a/storage/innodb_plugin/plug.in.disabled b/storage/innodb_plugin/plug.in similarity index 98% rename from storage/innodb_plugin/plug.in.disabled rename to storage/innodb_plugin/plug.in index e638332d74a..38e14d9d2fd 100644 --- a/storage/innodb_plugin/plug.in.disabled +++ b/storage/innodb_plugin/plug.in @@ -15,7 +15,7 @@ # MYSQL_STORAGE_ENGINE(innodb_plugin,, [InnoDB Storage Engine], - [Transactional Tables using InnoDB], [max,max-no-ndb]) + [Transactional Tables using InnoDB], []) MYSQL_PLUGIN_DIRECTORY(innodb_plugin, [storage/innodb_plugin]) MYSQL_PLUGIN_DYNAMIC(innodb_plugin, [ha_innodb_plugin.la]) MYSQL_PLUGIN_ACTIONS(innodb_plugin, [ diff --git a/storage/xtradb/CMakeLists.txt b/storage/xtradb/CMakeLists.txt index 38a9700df20..8bdc029329d 100644 --- a/storage/xtradb/CMakeLists.txt +++ b/storage/xtradb/CMakeLists.txt @@ -31,7 +31,7 @@ ENDIF (CMAKE_SIZEOF_VOID_P MATCHES 8) ADD_DEFINITIONS(-D_WIN32 -D_LIB -DMYSQL_SERVER) -# Include directories under innobase +# Include directories under xtradb INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/storage/xtradb/include ${CMAKE_SOURCE_DIR}/storage/xtradb/handler) @@ -49,7 +49,7 @@ IF (MSVC AND $(WIN64)) PROPERTIES COMPILE_FLAGS -Od) ENDIF (MSVC AND $(WIN64)) -SET(INNOBASE_SOURCES btr/btr0btr.c btr/btr0cur.c btr/btr0pcur.c btr/btr0sea.c +SET(XTRADB_SOURCES btr/btr0btr.c btr/btr0cur.c btr/btr0pcur.c btr/btr0sea.c buf/buf0buddy.c buf/buf0buf.c buf/buf0flu.c buf/buf0lru.c buf/buf0rea.c data/data0data.c data/data0type.c dict/dict0boot.c dict/dict0crea.c dict/dict0dict.c dict/dict0load.c dict/dict0mem.c @@ -85,17 +85,16 @@ SET(INNOBASE_SOURCES btr/btr0btr.c btr/btr0cur.c btr/btr0pcur.c btr/btr0sea.c ADD_DEFINITIONS(-DHAVE_WINDOWS_ATOMICS -DIB_HAVE_PAUSE_INSTRUCTION) IF (MYSQL_VERSION_ID GREATER "50137") - MYSQL_STORAGE_ENGINE(INNOBASE) - # Use ha_innodb for plugin name, if plugin is built - GET_TARGET_PROPERTY(LIB_LOCATION ha_innobase LOCATION) + MYSQL_STORAGE_ENGINE(XTRADB) + GET_TARGET_PROPERTY(LIB_LOCATION ha_xtradb LOCATION) IF(LIB_LOCATION) - SET_TARGET_PROPERTIES(ha_innobase PROPERTIES OUTPUT_NAME ha_innodb) + SET_TARGET_PROPERTIES(ha_xtradb PROPERTIES OUTPUT_NAME ha_xtradb) ENDIF(LIB_LOCATION) ELSE (MYSQL_VERSION_ID GREATER "50137") IF (NOT SOURCE_SUBLIBS) ADD_DEFINITIONS(-D_WIN32 -DMYSQL_SERVER) - ADD_LIBRARY(innobase STATIC ${INNOBASE_SOURCES}) + ADD_LIBRARY(xtradb STATIC ${XTRADB_SOURCES}) # Require mysqld_error.h, which is built as part of the GenError - ADD_DEPENDENCIES(innobase GenError) + ADD_DEPENDENCIES(xtradb GenError) ENDIF (NOT SOURCE_SUBLIBS) ENDIF (MYSQL_VERSION_ID GREATER "50137") diff --git a/storage/xtradb/Makefile.am b/storage/xtradb/Makefile.am index 53413dfaeb8..36d250890f5 100644 --- a/storage/xtradb/Makefile.am +++ b/storage/xtradb/Makefile.am @@ -228,9 +228,9 @@ noinst_HEADERS= \ handler/innodb_patch_info.h \ mem/mem0dbg.c -EXTRA_LIBRARIES= libinnobase.a -noinst_LIBRARIES= @plugin_innobase_static_target@ -libinnobase_a_SOURCES= \ +EXTRA_LIBRARIES= libxtradb.a +noinst_LIBRARIES= @plugin_xtradb_static_target@ +libxtradb_a_SOURCES= \ btr/btr0btr.c \ btr/btr0cur.c \ btr/btr0pcur.c \ @@ -324,16 +324,16 @@ libinnobase_a_SOURCES= \ ut/ut0vec.c \ ut/ut0wqueue.c -libinnobase_a_CXXFLAGS= $(AM_CFLAGS) -libinnobase_a_CFLAGS= $(AM_CFLAGS) +libxtradb_a_CXXFLAGS= $(AM_CFLAGS) +libxtradb_a_CFLAGS= $(AM_CFLAGS) -EXTRA_LTLIBRARIES= ha_innodb.la -pkgplugin_LTLIBRARIES= @plugin_innobase_shared_target@ +EXTRA_LTLIBRARIES= ha_xtradb.la +pkgplugin_LTLIBRARIES= @plugin_xtradb_shared_target@ -ha_innodb_la_LDFLAGS= -module -rpath $(pkgplugindir) -ha_innodb_la_CXXFLAGS= $(AM_CFLAGS) $(INNODB_DYNAMIC_CFLAGS) -ha_innodb_la_CFLAGS= $(AM_CFLAGS) $(INNODB_DYNAMIC_CFLAGS) -ha_innodb_la_SOURCES= $(libinnobase_a_SOURCES) +ha_xtradb_la_LDFLAGS= -module -rpath $(pkgplugindir) +ha_xtradb_la_CXXFLAGS= $(AM_CFLAGS) $(INNODB_DYNAMIC_CFLAGS) +ha_xtradb_la_CFLAGS= $(AM_CFLAGS) $(INNODB_DYNAMIC_CFLAGS) +ha_xtradb_la_SOURCES= $(libxtradb_a_SOURCES) EXTRA_DIST= CMakeLists.txt plug.in \ pars/make_bison.sh pars/make_flex.sh \ diff --git a/storage/xtradb/handler/ha_innodb.cc b/storage/xtradb/handler/ha_innodb.cc index dce3c1c4fd4..40efa3e2c5c 100644 --- a/storage/xtradb/handler/ha_innodb.cc +++ b/storage/xtradb/handler/ha_innodb.cc @@ -10931,7 +10931,7 @@ static struct st_mysql_sys_var* innobase_system_variables[]= { NULL }; -mysql_declare_plugin(innobase) +mysql_declare_plugin(xtradb) { MYSQL_STORAGE_ENGINE_PLUGIN, &innobase_storage_engine, @@ -10964,7 +10964,7 @@ i_s_innodb_sys_tables, i_s_innodb_sys_indexes, i_s_innodb_patches mysql_declare_plugin_end; -maria_declare_plugin(innobase) +maria_declare_plugin(xtradb) { /* InnoDB */ MYSQL_STORAGE_ENGINE_PLUGIN, &innobase_storage_engine, diff --git a/storage/xtradb/include/rem0rec.ic b/storage/xtradb/include/rem0rec.ic index 8e5bd9a7fcd..fa96c97f95e 100644 --- a/storage/xtradb/include/rem0rec.ic +++ b/storage/xtradb/include/rem0rec.ic @@ -268,7 +268,7 @@ rec_get_next_ptr_const( return(NULL); } - if (UNIV_EXPECT(comp, REC_OFFS_COMPACT)) { + if (UNIV_LIKELY(comp != 0)) { #if UNIV_PAGE_SIZE <= 32768 /* Note that for 64 KiB pages, field_value can 'wrap around' and the debug assertion is not valid */ @@ -336,7 +336,7 @@ rec_get_next_offs( field_value = mach_read_from_2(rec - REC_NEXT); - if (UNIV_EXPECT(comp, REC_OFFS_COMPACT)) { + if (UNIV_LIKELY(comp != 0)) { #if UNIV_PAGE_SIZE <= 32768 /* Note that for 64 KiB pages, field_value can 'wrap around' and the debug assertion is not valid */ @@ -647,7 +647,7 @@ rec_get_info_and_status_bits( & (REC_INFO_BITS_MASK >> REC_INFO_BITS_SHIFT) # error "REC_NEW_STATUS_MASK and REC_INFO_BITS_MASK overlap" #endif - if (UNIV_EXPECT(comp, REC_OFFS_COMPACT)) { + if (UNIV_LIKELY(comp != 0)) { bits = rec_get_info_bits(rec, TRUE) | rec_get_status(rec); } else { bits = rec_get_info_bits(rec, FALSE); @@ -683,7 +683,7 @@ rec_get_deleted_flag( const rec_t* rec, /*!< in: physical record */ ulint comp) /*!< in: nonzero=compact page format */ { - if (UNIV_EXPECT(comp, REC_OFFS_COMPACT)) { + if (UNIV_LIKELY(comp != 0)) { return(UNIV_UNLIKELY( rec_get_bit_field_1(rec, REC_NEW_INFO_BITS, REC_INFO_DELETED_FLAG, diff --git a/storage/xtradb/plug.in b/storage/xtradb/plug.in index 2d7bd51ec17..c77bd15be1b 100644 --- a/storage/xtradb/plug.in +++ b/storage/xtradb/plug.in @@ -14,12 +14,13 @@ # Place, Suite 330, Boston, MA 02111-1307 USA # -MYSQL_STORAGE_ENGINE(innobase, innodb, [InnoDB Storage Engine], - [Transactional Tables using InnoDB], [max,max-no-ndb]) -MYSQL_PLUGIN_DIRECTORY(innobase, [storage/xtradb]) -MYSQL_PLUGIN_STATIC(innobase, [libinnobase.a]) -MYSQL_PLUGIN_DYNAMIC(innobase, [ha_innodb.la]) -MYSQL_PLUGIN_ACTIONS(innobase, [ +MYSQL_STORAGE_ENGINE(xtradb, xtradb, [XtraDB Storage Engine], + [XtraDB - a drop-in replacement for InnoDB], [max,max-no-ndb]) +MYSQL_PLUGIN_DIRECTORY(xtradb, [storage/xtradb]) +MYSQL_PLUGIN_STATIC(xtradb, [libxtradb.a]) +MYSQL_PLUGIN_DYNAMIC(xtradb, [ha_xtradb.la]) +MYSQL_PLUGIN_ACTIONS(xtradb, [ + with_plugin_innobase=$with_plugin_xtradb # for legacy code in configure.in AC_CHECK_LIB(rt, aio_read, [innodb_system_libs="-lrt"]) AC_SUBST(innodb_system_libs) AC_CHECK_HEADERS(aio.h sched.h)