mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
merge
This commit is contained in:
@@ -5,9 +5,9 @@
|
|||||||
--source include/have_dynamic_loading.inc
|
--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
|
--require r/have_example_plugin.require
|
||||||
disable_query_log;
|
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;
|
enable_query_log;
|
||||||
|
@@ -9,5 +9,5 @@
|
|||||||
#
|
#
|
||||||
--require r/have_simple_parser.require
|
--require r/have_simple_parser.require
|
||||||
disable_query_log;
|
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;
|
enable_query_log;
|
||||||
|
@@ -9,5 +9,5 @@
|
|||||||
#
|
#
|
||||||
--require r/have_udf_example.require
|
--require r/have_udf_example.require
|
||||||
disable_query_log;
|
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;
|
enable_query_log;
|
||||||
|
@@ -27,13 +27,13 @@ drop table if exists t1;
|
|||||||
--echo "*** Test 1) Test UDFs via loadable libraries ***
|
--echo "*** Test 1) Test UDFs via loadable libraries ***
|
||||||
--echo "Running on the master"
|
--echo "Running on the master"
|
||||||
--enable_info
|
--enable_info
|
||||||
--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_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
|
||||||
eval CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "$UDF_EXAMPLE_LIB";
|
eval CREATE FUNCTION myfunc_int RETURNS INTEGER 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
|
--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
|
--replace_column 3 UDF_LIB
|
||||||
SELECT * FROM mysql.func ORDER BY name;
|
SELECT * FROM mysql.func ORDER BY name;
|
||||||
--disable_info
|
--disable_info
|
||||||
|
@@ -18,7 +18,7 @@ use strict;
|
|||||||
|
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use base "Exporter";
|
use base "Exporter";
|
||||||
our @EXPORT= qw / rmtree mkpath copytree /;
|
our @EXPORT= qw /rmtree mkpath copytree/;
|
||||||
|
|
||||||
use File::Find;
|
use File::Find;
|
||||||
use File::Copy;
|
use File::Copy;
|
||||||
|
@@ -55,7 +55,7 @@ sub collect_option {
|
|||||||
}
|
}
|
||||||
|
|
||||||
use File::Basename;
|
use File::Basename;
|
||||||
use File::Spec::Functions qw / splitdir /;
|
use File::Spec::Functions qw /splitdir/;
|
||||||
use IO::File();
|
use IO::File();
|
||||||
use My::Config;
|
use My::Config;
|
||||||
use My::Platform;
|
use My::Platform;
|
||||||
@@ -68,22 +68,9 @@ require "mtr_misc.pl";
|
|||||||
my $do_test_reg;
|
my $do_test_reg;
|
||||||
my $skip_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.
|
# If "Quick collect", set to 1 once a test to run has been found.
|
||||||
my $some_test_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 {
|
sub init_pattern {
|
||||||
my ($from, $what)= @_;
|
my ($from, $what)= @_;
|
||||||
return undef unless defined $from;
|
return undef unless defined $from;
|
||||||
@@ -116,8 +103,6 @@ sub collect_test_cases ($$$) {
|
|||||||
$do_test_reg= init_pattern($do_test, "--do-test");
|
$do_test_reg= init_pattern($do_test, "--do-test");
|
||||||
$skip_test_reg= init_pattern($skip_test, "--skip-test");
|
$skip_test_reg= init_pattern($skip_test, "--skip-test");
|
||||||
|
|
||||||
&find_innodb_plugin;
|
|
||||||
|
|
||||||
# If not reordering, we also shouldn't group by suites, unless
|
# If not reordering, we also shouldn't group by suites, unless
|
||||||
# no test cases were named.
|
# no test cases were named.
|
||||||
# This also effects some logic in the loop following this.
|
# This also effects some logic in the loop following this.
|
||||||
@@ -966,36 +951,6 @@ sub collect_one_test_case {
|
|||||||
return $tinfo;
|
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
|
else
|
||||||
{
|
{
|
||||||
push(@{$tinfo->{'master_opt'}}, "--loose-skip-innodb");
|
push(@{$tinfo->{'master_opt'}}, "--loose-skip-innodb");
|
||||||
@@ -1113,7 +1068,7 @@ sub collect_one_test_case {
|
|||||||
|
|
||||||
if ( $tinfo->{'example_plugin_test'} )
|
if ( $tinfo->{'example_plugin_test'} )
|
||||||
{
|
{
|
||||||
if ( !$ENV{'EXAMPLE_PLUGIN'} )
|
if ( !$ENV{'HA_EXAMPLE_SO'} )
|
||||||
{
|
{
|
||||||
$tinfo->{'skip'}= 1;
|
$tinfo->{'skip'}= 1;
|
||||||
$tinfo->{'comment'}= "Test requires the 'example' plugin";
|
$tinfo->{'comment'}= "Test requires the 'example' plugin";
|
||||||
@@ -1123,7 +1078,7 @@ sub collect_one_test_case {
|
|||||||
|
|
||||||
if ( $tinfo->{'oqgraph_test'} )
|
if ( $tinfo->{'oqgraph_test'} )
|
||||||
{
|
{
|
||||||
if ( !$ENV{'OQGRAPH_PLUGIN'} )
|
if ( !$ENV{'GRAPH_ENGINE_SO'} )
|
||||||
{
|
{
|
||||||
$tinfo->{'skip'}= 1;
|
$tinfo->{'skip'}= 1;
|
||||||
$tinfo->{'comment'}= "Test requires the OQGraph storage engine";
|
$tinfo->{'comment'}= "Test requires the OQGraph storage engine";
|
||||||
@@ -1175,7 +1130,7 @@ my @tags=
|
|||||||
|
|
||||||
["include/have_innodb.inc", "innodb_test", 1],
|
["include/have_innodb.inc", "innodb_test", 1],
|
||||||
["include/have_pbxt.inc", "pbxt_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/big_test.inc", "big_test", 1],
|
||||||
["include/have_debug.inc", "need_debug", 1],
|
["include/have_debug.inc", "need_debug", 1],
|
||||||
["include/have_ndb.inc", "ndb_test", 1],
|
["include/have_ndb.inc", "ndb_test", 1],
|
||||||
|
@@ -69,7 +69,7 @@ use File::Basename;
|
|||||||
use File::Copy;
|
use File::Copy;
|
||||||
use File::Find;
|
use File::Find;
|
||||||
use File::Temp qw/tempdir/;
|
use File::Temp qw/tempdir/;
|
||||||
use File::Spec::Functions qw/splitdir/;
|
use File::Spec::Functions qw/splitdir rel2abs/;
|
||||||
use My::Platform;
|
use My::Platform;
|
||||||
use My::SafeProcess;
|
use My::SafeProcess;
|
||||||
use My::ConfigFactory;
|
use My::ConfigFactory;
|
||||||
@@ -106,6 +106,7 @@ our $path_testlog;
|
|||||||
|
|
||||||
our $default_vardir;
|
our $default_vardir;
|
||||||
our $opt_vardir; # Path to use for var/ dir
|
our $opt_vardir; # Path to use for var/ dir
|
||||||
|
our $plugindir;
|
||||||
my $path_vardir_trace; # unix formatted opt_vardir for trace files
|
my $path_vardir_trace; # unix formatted opt_vardir for trace files
|
||||||
my $opt_tmpdir; # Path to use for tmp/ dir
|
my $opt_tmpdir; # Path to use for tmp/ dir
|
||||||
my $opt_tmpdir_pid;
|
my $opt_tmpdir_pid;
|
||||||
@@ -315,8 +316,25 @@ sub main {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# Check for plugin availability so we know whether to skip tests or not.
|
print "vardir: $opt_vardir\n";
|
||||||
detect_plugins();
|
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...");
|
mtr_report("Collecting tests...");
|
||||||
my $tests= collect_test_cases($opt_reorder, $opt_suites, \@opt_cases);
|
my $tests= collect_test_cases($opt_reorder, $opt_suites, \@opt_cases);
|
||||||
@@ -335,9 +353,6 @@ sub main {
|
|||||||
unshift(@$tests, $tinfo);
|
unshift(@$tests, $tinfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
print "vardir: $opt_vardir\n";
|
|
||||||
initialize_servers();
|
|
||||||
|
|
||||||
#######################################################################
|
#######################################################################
|
||||||
my $num_tests= @$tests;
|
my $num_tests= @$tests;
|
||||||
if ( $opt_parallel eq "auto" ) {
|
if ( $opt_parallel eq "auto" ) {
|
||||||
@@ -1031,6 +1046,8 @@ sub command_line_setup {
|
|||||||
$basedir= dirname($basedir);
|
$basedir= dirname($basedir);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fix_vs_config_dir();
|
||||||
|
|
||||||
# Look for the client binaries directory
|
# Look for the client binaries directory
|
||||||
if ($path_client_bindir)
|
if ($path_client_bindir)
|
||||||
{
|
{
|
||||||
@@ -1041,7 +1058,7 @@ sub command_line_setup {
|
|||||||
{
|
{
|
||||||
$path_client_bindir= mtr_path_exists("$basedir/client_release",
|
$path_client_bindir= mtr_path_exists("$basedir/client_release",
|
||||||
"$basedir/client_debug",
|
"$basedir/client_debug",
|
||||||
vs_config_dirs('client', ''),
|
"$basedir/client$opt_vs_config",
|
||||||
"$basedir/client",
|
"$basedir/client",
|
||||||
"$basedir/bin");
|
"$basedir/bin");
|
||||||
}
|
}
|
||||||
@@ -1055,17 +1072,6 @@ sub command_line_setup {
|
|||||||
my $path_share= dirname($path_language);
|
my $path_share= dirname($path_language);
|
||||||
$path_charsetsdir= mtr_path_exists("$path_share/charsets");
|
$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 )
|
if ( $opt_comment )
|
||||||
{
|
{
|
||||||
mtr_report();
|
mtr_report();
|
||||||
@@ -1288,7 +1294,7 @@ sub command_line_setup {
|
|||||||
# Add the location for libmysqld.dll to the path.
|
# Add the location for libmysqld.dll to the path.
|
||||||
my $separator= ";";
|
my $separator= ";";
|
||||||
my $lib_mysqld=
|
my $lib_mysqld=
|
||||||
mtr_path_exists(vs_config_dirs('libmysqld',''));
|
mtr_path_exists("$basedir/libmysqld$opt_vs_config");
|
||||||
if ( IS_CYGWIN )
|
if ( IS_CYGWIN )
|
||||||
{
|
{
|
||||||
$lib_mysqld= posix_path($lib_mysqld);
|
$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");
|
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 {
|
sub collect_mysqld_features {
|
||||||
my $found_variable_list_start= 0;
|
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
|
# Execute "mysqld --no-defaults --help --verbose" to get a
|
||||||
@@ -1569,9 +1559,11 @@ sub collect_mysqld_features {
|
|||||||
my $args;
|
my $args;
|
||||||
mtr_init_args(\$args);
|
mtr_init_args(\$args);
|
||||||
mtr_add_arg($args, "--no-defaults");
|
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, "--language=%s", $path_language);
|
||||||
mtr_add_arg($args, "--skip-grant-tables");
|
mtr_add_arg($args, "--skip-grant-tables");
|
||||||
|
mtr_add_arg($args, $_) for (@opt_extra_mysqld_opt);
|
||||||
my $euid= $>;
|
my $euid= $>;
|
||||||
if (!IS_WINDOWS and $euid == 0) {
|
if (!IS_WINDOWS and $euid == 0) {
|
||||||
mtr_add_arg($args, "--user=root");
|
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 version of MySQL") unless $mysql_version_id;
|
||||||
mtr_error("Could not find variabes list") unless $found_variable_list_start;
|
mtr_error("Could not find variabes list") unless $found_variable_list_start;
|
||||||
|
|
||||||
@@ -1761,8 +1752,7 @@ sub executable_setup () {
|
|||||||
if ( $opt_embedded_server )
|
if ( $opt_embedded_server )
|
||||||
{
|
{
|
||||||
$exe_mysqltest=
|
$exe_mysqltest=
|
||||||
mtr_exe_exists(vs_config_dirs('libmysqld/examples','mysqltest_embedded'),
|
mtr_exe_exists("$basedir/libmysqld/examples$opt_vs_config/mysqltest_embedded",
|
||||||
"$basedir/libmysqld/examples/mysqltest_embedded",
|
|
||||||
"$path_client_bindir/mysqltest_embedded");
|
"$path_client_bindir/mysqltest_embedded");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -1871,12 +1861,10 @@ sub mysql_client_test_arguments(){
|
|||||||
# mysql_client_test executable may _not_ exist
|
# mysql_client_test executable may _not_ exist
|
||||||
if ( $opt_embedded_server ) {
|
if ( $opt_embedded_server ) {
|
||||||
$exe= mtr_exe_maybe_exists(
|
$exe= mtr_exe_maybe_exists(
|
||||||
vs_config_dirs('libmysqld/examples','mysql_client_test_embedded'),
|
"$basedir/libmysqld/examples$opt_vs_config/mysql_client_test_embedded",
|
||||||
"$basedir/libmysqld/examples/mysql_client_test_embedded",
|
|
||||||
"$basedir/bin/mysql_client_test_embedded");
|
"$basedir/bin/mysql_client_test_embedded");
|
||||||
} else {
|
} else {
|
||||||
$exe= mtr_exe_maybe_exists(vs_config_dirs('tests', 'mysql_client_test'),
|
$exe= mtr_exe_maybe_exists("$basedir/tests$opt_vs_config/mysql_client_test",
|
||||||
"$basedir/tests/mysql_client_test",
|
|
||||||
"$basedir/bin/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';
|
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
|
# Set environment to be used by childs of this process for
|
||||||
# things that are constant during the whole lifetime of mysql-test-run
|
# 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");
|
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
|
# Valgrind need to be run with debug libraries otherwise it's almost
|
||||||
# impossible to add correct supressions, that means if "/usr/lib/debug"
|
# 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
|
# some versions, test using it should be skipped
|
||||||
# ----------------------------------------------------
|
# ----------------------------------------------------
|
||||||
my $exe_bug25714=
|
my $exe_bug25714=
|
||||||
mtr_exe_maybe_exists(vs_config_dirs('tests', 'bug25714'),
|
mtr_exe_maybe_exists("$basedir/tests$opt_vs_config/bug25714");
|
||||||
"$basedir/tests/bug25714");
|
|
||||||
$ENV{'MYSQL_BUG25714'}= native_path($exe_bug25714);
|
$ENV{'MYSQL_BUG25714'}= native_path($exe_bug25714);
|
||||||
|
|
||||||
# ----------------------------------------------------
|
# ----------------------------------------------------
|
||||||
@@ -2200,9 +2095,8 @@ sub environment_setup {
|
|||||||
# my_print_defaults
|
# my_print_defaults
|
||||||
# ----------------------------------------------------
|
# ----------------------------------------------------
|
||||||
my $exe_my_print_defaults=
|
my $exe_my_print_defaults=
|
||||||
mtr_exe_exists(vs_config_dirs('extra', 'my_print_defaults'),
|
mtr_exe_exists("$basedir/extra$opt_vs_config/my_print_defaults",
|
||||||
"$path_client_bindir/my_print_defaults",
|
"$path_client_bindir/my_print_defaults");
|
||||||
"$basedir/extra/my_print_defaults");
|
|
||||||
$ENV{'MYSQL_MY_PRINT_DEFAULTS'}= native_path($exe_my_print_defaults);
|
$ENV{'MYSQL_MY_PRINT_DEFAULTS'}= native_path($exe_my_print_defaults);
|
||||||
|
|
||||||
# ----------------------------------------------------
|
# ----------------------------------------------------
|
||||||
@@ -2225,8 +2119,7 @@ sub environment_setup {
|
|||||||
# ----------------------------------------------------
|
# ----------------------------------------------------
|
||||||
# perror
|
# perror
|
||||||
# ----------------------------------------------------
|
# ----------------------------------------------------
|
||||||
my $exe_perror= mtr_exe_exists(vs_config_dirs('extra', 'perror'),
|
my $exe_perror= mtr_exe_exists("$basedir/extra$opt_vs_config/perror",
|
||||||
"$basedir/extra/perror",
|
|
||||||
"$path_client_bindir/perror");
|
"$path_client_bindir/perror");
|
||||||
$ENV{'MY_PERROR'}= native_path($exe_perror);
|
$ENV{'MY_PERROR'}= native_path($exe_perror);
|
||||||
|
|
||||||
@@ -2324,7 +2217,11 @@ sub remove_stale_vardir () {
|
|||||||
rmtree("$opt_tmpdir/");
|
rmtree("$opt_tmpdir/");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub set_plugin_var($) {
|
||||||
|
local $_ = $_[0];
|
||||||
|
s/\.\w+$//;
|
||||||
|
$ENV{"\U${_}_SO"} = $_[0];
|
||||||
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
# Create var and the directories needed in var
|
# Create var and the directories needed in var
|
||||||
@@ -2389,6 +2286,44 @@ sub setup_vardir() {
|
|||||||
# and make them world readable
|
# and make them world readable
|
||||||
copytree("$glob_mysql_test_dir/std_data", "$opt_vardir/std_data", "0022");
|
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
|
# Remove old log files
|
||||||
foreach my $name (glob("r/*.progress r/*.log r/*.warnings"))
|
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
|
# Helper function to find the correct value for the opt_vs_config
|
||||||
# Studio uses for storing binaries. If opt_vs_config is set, this returns
|
# if it was not set explicitly.
|
||||||
# a path based on that setting; if not, it returns paths for the default
|
#
|
||||||
# /release/ and /debug/ subdirectories.
|
# 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 ($$) {
|
sub fix_vs_config_dir () {
|
||||||
my ($path_part, $exe) = @_;
|
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
|
for my $dir (qw(client/*.dir libmysql/libmysql.dir sql/mysqld.dir
|
||||||
return () unless IS_WINDOWS;
|
sql/udf_example.dir storage/*/*.dir plugin/*/*.dir)) {
|
||||||
|
for (<$basedir/$dir/*/BuildLog.htm>) {
|
||||||
if ($opt_vs_config)
|
if (-M $_ < $modified)
|
||||||
{
|
{
|
||||||
return ("$basedir/$path_part/$opt_vs_config/$exe");
|
$modified = -M _;
|
||||||
|
$opt_vs_config = basename(dirname($_));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return ("$basedir/$path_part/release/$exe",
|
mtr_report("VS config: $opt_vs_config");
|
||||||
"$basedir/$path_part/relwithdebinfo/$exe",
|
$opt_vs_config="/$opt_vs_config" if $opt_vs_config;
|
||||||
"$basedir/$path_part/debug/$exe");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -871,6 +871,9 @@ COLUMNS TABLE_NAME select
|
|||||||
COLUMN_PRIVILEGES TABLE_NAME select
|
COLUMN_PRIVILEGES TABLE_NAME select
|
||||||
FILES TABLE_NAME select
|
FILES TABLE_NAME select
|
||||||
INDEX_STATISTICS 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
|
KEY_COLUMN_USAGE TABLE_NAME select
|
||||||
PARTITIONS TABLE_NAME select
|
PARTITIONS TABLE_NAME select
|
||||||
REFERENTIAL_CONSTRAINTS TABLE_NAME select
|
REFERENTIAL_CONSTRAINTS TABLE_NAME select
|
||||||
@@ -880,9 +883,6 @@ TABLE_CONSTRAINTS TABLE_NAME select
|
|||||||
TABLE_PRIVILEGES TABLE_NAME select
|
TABLE_PRIVILEGES TABLE_NAME select
|
||||||
TABLE_STATISTICS TABLE_NAME select
|
TABLE_STATISTICS TABLE_NAME select
|
||||||
VIEWS 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.user where user='mysqltest_4';
|
||||||
delete from mysql.db where user='mysqltest_4';
|
delete from mysql.db where user='mysqltest_4';
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
@@ -2,8 +2,5 @@ show variables like 'ignore_builtin_innodb';
|
|||||||
Variable_name Value
|
Variable_name Value
|
||||||
ignore_builtin_innodb ON
|
ignore_builtin_innodb ON
|
||||||
select PLUGIN_NAME from information_schema.plugins
|
select PLUGIN_NAME from information_schema.plugins
|
||||||
where PLUGIN_NAME = "InnoDb";
|
where PLUGIN_NAME = "InnoDb" and PLUGIN_LIBRARY IS NULL;
|
||||||
PLUGIN_NAME
|
PLUGIN_NAME
|
||||||
select ENGINE from information_schema.engines
|
|
||||||
where ENGINE = "InnoDB";
|
|
||||||
ENGINE
|
|
||||||
|
@@ -1,2 +1 @@
|
|||||||
$OQGRAPH_PLUGIN_OPT
|
--plugin-load=$GRAPH_ENGINE_SO
|
||||||
$OQGRAPH_PLUGIN_LOAD
|
|
||||||
|
@@ -1 +0,0 @@
|
|||||||
$UDF_EXAMPLE_LIB_OPT
|
|
@@ -14,26 +14,26 @@ drop table if exists t1;
|
|||||||
# Create the example functions from udf_example
|
# Create the example functions from udf_example
|
||||||
#
|
#
|
||||||
|
|
||||||
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
|
--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
|
||||||
eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_LIB";
|
eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_SO";
|
||||||
--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_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
|
--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_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
|
--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
|
||||||
eval CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "$UDF_EXAMPLE_LIB";
|
eval CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "$UDF_EXAMPLE_SO";
|
||||||
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
|
--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
|
||||||
eval CREATE FUNCTION sequence RETURNS INTEGER SONAME "$UDF_EXAMPLE_LIB";
|
eval CREATE FUNCTION sequence RETURNS INTEGER SONAME "$UDF_EXAMPLE_SO";
|
||||||
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
|
--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
|
||||||
eval CREATE FUNCTION lookup RETURNS STRING SONAME "$UDF_EXAMPLE_LIB";
|
eval CREATE FUNCTION lookup RETURNS STRING SONAME "$UDF_EXAMPLE_SO";
|
||||||
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
|
--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
|
||||||
eval CREATE FUNCTION reverse_lookup
|
eval CREATE FUNCTION reverse_lookup
|
||||||
RETURNS STRING SONAME "$UDF_EXAMPLE_LIB";
|
RETURNS STRING SONAME "$UDF_EXAMPLE_SO";
|
||||||
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
|
--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
|
||||||
eval CREATE AGGREGATE FUNCTION avgcost
|
eval CREATE AGGREGATE FUNCTION avgcost
|
||||||
RETURNS REAL SONAME "$UDF_EXAMPLE_LIB";
|
RETURNS REAL SONAME "$UDF_EXAMPLE_SO";
|
||||||
|
|
||||||
--error ER_CANT_INITIALIZE_UDF
|
--error ER_CANT_INITIALIZE_UDF
|
||||||
select myfunc_double();
|
select myfunc_double();
|
||||||
@@ -207,14 +207,14 @@ CREATE FUNCTION metaphon(a int) RETURNS int
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
# this currently passes, and eclipse the stored function
|
# this currently passes, and eclipse the stored function
|
||||||
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
|
--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
|
||||||
eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_LIB";
|
eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_SO";
|
||||||
|
|
||||||
DROP FUNCTION metaphon;
|
DROP FUNCTION metaphon;
|
||||||
DROP FUNCTION metaphon;
|
DROP FUNCTION metaphon;
|
||||||
|
|
||||||
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
|
--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
|
||||||
eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_LIB";
|
eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_SO";
|
||||||
|
|
||||||
--error ER_UDF_EXISTS
|
--error ER_UDF_EXISTS
|
||||||
CREATE FUNCTION metaphon(a int) RETURNS int
|
CREATE FUNCTION metaphon(a int) RETURNS int
|
||||||
@@ -245,8 +245,8 @@ DROP FUNCTION avgcost;
|
|||||||
# the UDF
|
# the UDF
|
||||||
#
|
#
|
||||||
select * from mysql.func;
|
select * from mysql.func;
|
||||||
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
|
--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
|
||||||
eval CREATE FUNCTION is_const RETURNS STRING SONAME "$UDF_EXAMPLE_LIB";
|
eval CREATE FUNCTION is_const RETURNS STRING SONAME "$UDF_EXAMPLE_SO";
|
||||||
|
|
||||||
select IS_const(3);
|
select IS_const(3);
|
||||||
|
|
||||||
@@ -260,8 +260,8 @@ select is_const(3);
|
|||||||
#
|
#
|
||||||
# Bug#18761: constant expression as UDF parameters not passed in as constant
|
# Bug#18761: constant expression as UDF parameters not passed in as constant
|
||||||
#
|
#
|
||||||
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
|
--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
|
||||||
eval CREATE FUNCTION is_const RETURNS STRING SONAME "$UDF_EXAMPLE_LIB";
|
eval CREATE FUNCTION is_const RETURNS STRING SONAME "$UDF_EXAMPLE_SO";
|
||||||
|
|
||||||
select
|
select
|
||||||
is_const(3) as const,
|
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
|
# Bug #25382: Passing NULL to an UDF called from stored procedures
|
||||||
# crashes server
|
# crashes server
|
||||||
#
|
#
|
||||||
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
|
--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
|
||||||
eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_LIB";
|
eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_SO";
|
||||||
|
|
||||||
--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_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
|
||||||
eval CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "$UDF_EXAMPLE_LIB";
|
eval CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "$UDF_EXAMPLE_SO";
|
||||||
|
|
||||||
delimiter //;
|
delimiter //;
|
||||||
create function f1(p1 varchar(255))
|
create function f1(p1 varchar(255))
|
||||||
@@ -345,8 +345,8 @@ drop function myfunc_int;
|
|||||||
# Bug #28921: Queries containing UDF functions are cached
|
# Bug #28921: Queries containing UDF functions are cached
|
||||||
#
|
#
|
||||||
|
|
||||||
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
|
--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
|
||||||
eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_LIB";
|
eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_SO";
|
||||||
create table t1 (a char);
|
create table t1 (a char);
|
||||||
|
|
||||||
set GLOBAL query_cache_size=1355776;
|
set GLOBAL query_cache_size=1355776;
|
||||||
@@ -374,8 +374,8 @@ DROP DATABASE IF EXISTS mysqltest;
|
|||||||
CREATE DATABASE mysqltest;
|
CREATE DATABASE mysqltest;
|
||||||
USE mysqltest;
|
USE mysqltest;
|
||||||
DROP DATABASE mysqltest;
|
DROP DATABASE mysqltest;
|
||||||
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
|
--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
|
||||||
eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_LIB";
|
eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_SO";
|
||||||
DROP FUNCTION metaphon;
|
DROP FUNCTION metaphon;
|
||||||
USE test;
|
USE test;
|
||||||
|
|
||||||
@@ -403,8 +403,8 @@ insert into const_len_bug values(str_const, result, "");
|
|||||||
END |
|
END |
|
||||||
DELIMITER ;|
|
DELIMITER ;|
|
||||||
|
|
||||||
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
|
--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
|
||||||
eval CREATE FUNCTION check_const_len RETURNS string SONAME "$UDF_EXAMPLE_LIB";
|
eval CREATE FUNCTION check_const_len RETURNS string SONAME "$UDF_EXAMPLE_SO";
|
||||||
|
|
||||||
CALL check_const_len_sp("foo");
|
CALL check_const_len_sp("foo");
|
||||||
|
|
||||||
@@ -420,8 +420,8 @@ DROP TABLE const_len_bug;
|
|||||||
# Bug #30355: Incorrect ordering of UDF results
|
# Bug #30355: Incorrect ordering of UDF results
|
||||||
#
|
#
|
||||||
|
|
||||||
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
|
--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
|
||||||
eval CREATE FUNCTION sequence RETURNS INTEGER SONAME "$UDF_EXAMPLE_LIB";
|
eval CREATE FUNCTION sequence RETURNS INTEGER SONAME "$UDF_EXAMPLE_SO";
|
||||||
CREATE TABLE t1 (a INT);
|
CREATE TABLE t1 (a INT);
|
||||||
CREATE TABLE t2 (a INT PRIMARY KEY);
|
CREATE TABLE t2 (a INT PRIMARY KEY);
|
||||||
INSERT INTO t1 VALUES (4),(3),(2),(1);
|
INSERT INTO t1 VALUES (4),(3),(2),(1);
|
||||||
|
@@ -1 +0,0 @@
|
|||||||
$EXAMPLE_PLUGIN_OPT
|
|
@@ -1 +0,0 @@
|
|||||||
$EXAMPLE_PLUGIN_OPT
|
|
@@ -1 +0,0 @@
|
|||||||
$EXAMPLE_PLUGIN_OPT
|
|
@@ -3,7 +3,7 @@
|
|||||||
--source include/master-slave.inc
|
--source include/master-slave.inc
|
||||||
|
|
||||||
--replace_regex /\.dll/.so/
|
--replace_regex /\.dll/.so/
|
||||||
eval install plugin example soname $HA_EXAMPLE_SO;
|
eval install plugin example soname '$HA_EXAMPLE_SO';
|
||||||
set storage_engine=example;
|
set storage_engine=example;
|
||||||
|
|
||||||
sync_slave_with_master;
|
sync_slave_with_master;
|
||||||
|
@@ -1 +0,0 @@
|
|||||||
$UDF_EXAMPLE_LIB_OPT
|
|
@@ -1 +0,0 @@
|
|||||||
$UDF_EXAMPLE_LIB_OPT
|
|
@@ -1 +1 @@
|
|||||||
--skip-grant-tables $EXAMPLE_PLUGIN_OPT
|
--skip-grant-tables
|
||||||
|
@@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
--replace_regex /\.dll/.so/
|
--replace_regex /\.dll/.so/
|
||||||
--error ER_OPTION_PREVENTS_STATEMENT
|
--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/
|
--replace_regex /\.dll/.so/
|
||||||
--error ER_OPTION_PREVENTS_STATEMENT
|
--error ER_OPTION_PREVENTS_STATEMENT
|
||||||
|
@@ -1 +0,0 @@
|
|||||||
$SIMPLE_PARSER_OPT
|
|
@@ -531,6 +531,7 @@ drop table t1;
|
|||||||
grant select on test.* to mysqltest_4@localhost;
|
grant select on test.* to mysqltest_4@localhost;
|
||||||
connect (user10261,localhost,mysqltest_4,,);
|
connect (user10261,localhost,mysqltest_4,,);
|
||||||
connection user10261;
|
connection user10261;
|
||||||
|
--sorted_result
|
||||||
SELECT TABLE_NAME, COLUMN_NAME, PRIVILEGES FROM INFORMATION_SCHEMA.COLUMNS
|
SELECT TABLE_NAME, COLUMN_NAME, PRIVILEGES FROM INFORMATION_SCHEMA.COLUMNS
|
||||||
where COLUMN_NAME='TABLE_NAME';
|
where COLUMN_NAME='TABLE_NAME';
|
||||||
connection default;
|
connection default;
|
||||||
|
@@ -3,6 +3,4 @@
|
|||||||
#
|
#
|
||||||
show variables like 'ignore_builtin_innodb';
|
show variables like 'ignore_builtin_innodb';
|
||||||
select PLUGIN_NAME from information_schema.plugins
|
select PLUGIN_NAME from information_schema.plugins
|
||||||
where PLUGIN_NAME = "InnoDb";
|
where PLUGIN_NAME = "InnoDb" and PLUGIN_LIBRARY IS NULL;
|
||||||
select ENGINE from information_schema.engines
|
|
||||||
where ENGINE = "InnoDB";
|
|
||||||
|
@@ -44,7 +44,7 @@ mkdir $MYSQLTEST_VARDIR/tmp/mysqld_option_err;
|
|||||||
# See also Bug#32034.
|
# See also Bug#32034.
|
||||||
--echo Test that bad value for plugin enum option is rejected correctly.
|
--echo Test that bad value for plugin enum option is rejected correctly.
|
||||||
--error 7
|
--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
|
# Test that an wrong option with --help --verbose gives an error
|
||||||
|
@@ -1 +0,0 @@
|
|||||||
$EXAMPLE_PLUGIN_OPT
|
|
@@ -3,7 +3,7 @@
|
|||||||
--source include/have_partition.inc
|
--source include/have_partition.inc
|
||||||
|
|
||||||
--replace_regex /\.dll/.so/
|
--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)
|
create table t1 (a int not null)
|
||||||
engine=example
|
engine=example
|
||||||
|
@@ -1 +0,0 @@
|
|||||||
$EXAMPLE_PLUGIN_OPT
|
|
@@ -5,15 +5,15 @@ CREATE TABLE t1(a int) ENGINE=EXAMPLE;
|
|||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
--replace_regex /\.dll/.so/
|
--replace_regex /\.dll/.so/
|
||||||
eval INSTALL PLUGIN example SONAME $HA_EXAMPLE_SO;
|
eval INSTALL PLUGIN example SONAME '$HA_EXAMPLE_SO';
|
||||||
--replace_regex /\.dll/.so/
|
--replace_regex /\.dll/.so/
|
||||||
--error 1125
|
--error 1125
|
||||||
eval INSTALL PLUGIN EXAMPLE SONAME $HA_EXAMPLE_SO;
|
eval INSTALL PLUGIN EXAMPLE SONAME '$HA_EXAMPLE_SO';
|
||||||
|
|
||||||
UNINSTALL PLUGIN example;
|
UNINSTALL PLUGIN example;
|
||||||
|
|
||||||
--replace_regex /\.dll/.so/
|
--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;
|
CREATE TABLE t1(a int) ENGINE=EXAMPLE;
|
||||||
|
|
||||||
@@ -41,7 +41,7 @@ UNINSTALL PLUGIN non_exist;
|
|||||||
--echo # to impossible int val
|
--echo # to impossible int val
|
||||||
--echo #
|
--echo #
|
||||||
--replace_regex /\.dll/.so/
|
--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= e1;
|
||||||
SET GLOBAL example_enum_var= e2;
|
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
|
# Bug #32757 hang with sql_mode set when setting some global variables
|
||||||
#
|
#
|
||||||
--replace_regex /\.dll/.so/
|
--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;
|
select @@session.sql_mode into @old_sql_mode;
|
||||||
|
|
||||||
|
@@ -1,3 +1,2 @@
|
|||||||
$EXAMPLE_PLUGIN_OPT
|
--plugin-load=EXAMPLE=$HA_EXAMPLE_SO
|
||||||
$EXAMPLE_PLUGIN_LOAD
|
|
||||||
--loose-plugin-example-enum-var=e2
|
--loose-plugin-example-enum-var=e2
|
||||||
|
@@ -1 +0,0 @@
|
|||||||
$EXAMPLE_PLUGIN_OPT
|
|
@@ -8,7 +8,7 @@
|
|||||||
GRANT INSERT ON mysql.plugin TO bug51770@localhost;
|
GRANT INSERT ON mysql.plugin TO bug51770@localhost;
|
||||||
connect(con1,localhost,bug51770,,);
|
connect(con1,localhost,bug51770,,);
|
||||||
--replace_regex /\.dll/.so/
|
--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
|
--error ER_TABLEACCESS_DENIED_ERROR
|
||||||
UNINSTALL PLUGIN example;
|
UNINSTALL PLUGIN example;
|
||||||
connection default;
|
connection default;
|
||||||
|
@@ -1 +0,0 @@
|
|||||||
$UDF_EXAMPLE_LIB_OPT
|
|
@@ -14,26 +14,26 @@ drop table if exists t1;
|
|||||||
# Create the example functions from udf_example
|
# Create the example functions from udf_example
|
||||||
#
|
#
|
||||||
|
|
||||||
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
|
--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
|
||||||
eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_LIB";
|
eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_SO";
|
||||||
--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_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
|
--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_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
|
--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
|
||||||
eval CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "$UDF_EXAMPLE_LIB";
|
eval CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "$UDF_EXAMPLE_SO";
|
||||||
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
|
--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
|
||||||
eval CREATE FUNCTION sequence RETURNS INTEGER SONAME "$UDF_EXAMPLE_LIB";
|
eval CREATE FUNCTION sequence RETURNS INTEGER SONAME "$UDF_EXAMPLE_SO";
|
||||||
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
|
--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
|
||||||
eval CREATE FUNCTION lookup RETURNS STRING SONAME "$UDF_EXAMPLE_LIB";
|
eval CREATE FUNCTION lookup RETURNS STRING SONAME "$UDF_EXAMPLE_SO";
|
||||||
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
|
--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
|
||||||
eval CREATE FUNCTION reverse_lookup
|
eval CREATE FUNCTION reverse_lookup
|
||||||
RETURNS STRING SONAME "$UDF_EXAMPLE_LIB";
|
RETURNS STRING SONAME "$UDF_EXAMPLE_SO";
|
||||||
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
|
--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
|
||||||
eval CREATE AGGREGATE FUNCTION avgcost
|
eval CREATE AGGREGATE FUNCTION avgcost
|
||||||
RETURNS REAL SONAME "$UDF_EXAMPLE_LIB";
|
RETURNS REAL SONAME "$UDF_EXAMPLE_SO";
|
||||||
|
|
||||||
--error ER_CANT_INITIALIZE_UDF
|
--error ER_CANT_INITIALIZE_UDF
|
||||||
select myfunc_double();
|
select myfunc_double();
|
||||||
@@ -210,14 +210,14 @@ CREATE FUNCTION metaphon(a int) RETURNS int
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
# this currently passes, and eclipse the stored function
|
# this currently passes, and eclipse the stored function
|
||||||
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
|
--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
|
||||||
eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_LIB";
|
eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_SO";
|
||||||
|
|
||||||
DROP FUNCTION metaphon;
|
DROP FUNCTION metaphon;
|
||||||
DROP FUNCTION metaphon;
|
DROP FUNCTION metaphon;
|
||||||
|
|
||||||
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
|
--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
|
||||||
eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_LIB";
|
eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_SO";
|
||||||
|
|
||||||
--error ER_UDF_EXISTS
|
--error ER_UDF_EXISTS
|
||||||
CREATE FUNCTION metaphon(a int) RETURNS int
|
CREATE FUNCTION metaphon(a int) RETURNS int
|
||||||
@@ -248,8 +248,8 @@ DROP FUNCTION avgcost;
|
|||||||
# the UDF
|
# the UDF
|
||||||
#
|
#
|
||||||
select * from mysql.func;
|
select * from mysql.func;
|
||||||
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
|
--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
|
||||||
eval CREATE FUNCTION is_const RETURNS STRING SONAME "$UDF_EXAMPLE_LIB";
|
eval CREATE FUNCTION is_const RETURNS STRING SONAME "$UDF_EXAMPLE_SO";
|
||||||
|
|
||||||
select IS_const(3);
|
select IS_const(3);
|
||||||
|
|
||||||
@@ -263,8 +263,8 @@ select is_const(3);
|
|||||||
#
|
#
|
||||||
# Bug#18761: constant expression as UDF parameters not passed in as constant
|
# Bug#18761: constant expression as UDF parameters not passed in as constant
|
||||||
#
|
#
|
||||||
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
|
--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
|
||||||
eval CREATE FUNCTION is_const RETURNS STRING SONAME "$UDF_EXAMPLE_LIB";
|
eval CREATE FUNCTION is_const RETURNS STRING SONAME "$UDF_EXAMPLE_SO";
|
||||||
|
|
||||||
select
|
select
|
||||||
is_const(3) as const,
|
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
|
# Bug #25382: Passing NULL to an UDF called from stored procedures
|
||||||
# crashes server
|
# crashes server
|
||||||
#
|
#
|
||||||
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
|
--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
|
||||||
eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_LIB";
|
eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_SO";
|
||||||
|
|
||||||
--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_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
|
||||||
eval CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "$UDF_EXAMPLE_LIB";
|
eval CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "$UDF_EXAMPLE_SO";
|
||||||
|
|
||||||
delimiter //;
|
delimiter //;
|
||||||
create function f1(p1 varchar(255))
|
create function f1(p1 varchar(255))
|
||||||
@@ -354,8 +354,8 @@ DROP DATABASE IF EXISTS mysqltest;
|
|||||||
CREATE DATABASE mysqltest;
|
CREATE DATABASE mysqltest;
|
||||||
USE mysqltest;
|
USE mysqltest;
|
||||||
DROP DATABASE mysqltest;
|
DROP DATABASE mysqltest;
|
||||||
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
|
--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
|
||||||
eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_LIB";
|
eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_SO";
|
||||||
DROP FUNCTION metaphon;
|
DROP FUNCTION metaphon;
|
||||||
USE test;
|
USE test;
|
||||||
|
|
||||||
@@ -383,8 +383,8 @@ insert into const_len_bug values(str_const, result, "");
|
|||||||
END |
|
END |
|
||||||
DELIMITER ;|
|
DELIMITER ;|
|
||||||
|
|
||||||
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
|
--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
|
||||||
eval CREATE FUNCTION check_const_len RETURNS string SONAME "$UDF_EXAMPLE_LIB";
|
eval CREATE FUNCTION check_const_len RETURNS string SONAME "$UDF_EXAMPLE_SO";
|
||||||
|
|
||||||
CALL check_const_len_sp("foo");
|
CALL check_const_len_sp("foo");
|
||||||
|
|
||||||
@@ -400,8 +400,8 @@ DROP TABLE const_len_bug;
|
|||||||
# Bug #30355: Incorrect ordering of UDF results
|
# Bug #30355: Incorrect ordering of UDF results
|
||||||
#
|
#
|
||||||
|
|
||||||
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
|
--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
|
||||||
eval CREATE FUNCTION sequence RETURNS INTEGER SONAME "$UDF_EXAMPLE_LIB";
|
eval CREATE FUNCTION sequence RETURNS INTEGER SONAME "$UDF_EXAMPLE_SO";
|
||||||
CREATE TABLE t1 (a INT);
|
CREATE TABLE t1 (a INT);
|
||||||
CREATE TABLE t2 (a INT PRIMARY KEY);
|
CREATE TABLE t2 (a INT PRIMARY KEY);
|
||||||
INSERT INTO t1 VALUES (4),(3),(2),(1);
|
INSERT INTO t1 VALUES (4),(3),(2),(1);
|
||||||
|
@@ -1 +0,0 @@
|
|||||||
$UDF_EXAMPLE_LIB_OPT
|
|
@@ -14,8 +14,8 @@ drop table if exists t1;
|
|||||||
# Bug #28921: Queries containing UDF functions are cached
|
# Bug #28921: Queries containing UDF functions are cached
|
||||||
#
|
#
|
||||||
|
|
||||||
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
|
--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
|
||||||
eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_LIB";
|
eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_SO";
|
||||||
create table t1 (a char);
|
create table t1 (a char);
|
||||||
|
|
||||||
set GLOBAL query_cache_size=1355776;
|
set GLOBAL query_cache_size=1355776;
|
||||||
|
@@ -26,8 +26,6 @@ INCLUDES = -I$(top_srcdir)/include -I$(top_builddir)/include \
|
|||||||
-I$(srcdir)
|
-I$(srcdir)
|
||||||
WRAPLIBS=
|
WRAPLIBS=
|
||||||
|
|
||||||
LDADD =
|
|
||||||
|
|
||||||
DEFS = @DEFS@
|
DEFS = @DEFS@
|
||||||
|
|
||||||
noinst_HEADERS = ha_federated.h
|
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_LDFLAGS = -module -rpath $(pkgplugindir)
|
||||||
ha_federated_la_CXXFLAGS= $(AM_CFLAGS) -DMYSQL_DYNAMIC_PLUGIN
|
ha_federated_la_CXXFLAGS= $(AM_CFLAGS) -DMYSQL_DYNAMIC_PLUGIN
|
||||||
ha_federated_la_CFLAGS = $(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
|
EXTRA_LIBRARIES = libfederated.a
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
MYSQL_STORAGE_ENGINE(federated,,[Federated Storage Engine],
|
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_STATIC(federated, [libfederated.a])
|
||||||
MYSQL_PLUGIN_DYNAMIC(federated, [ha_federated.la])
|
MYSQL_PLUGIN_DYNAMIC(federated, [ha_federated.la])
|
||||||
MYSQL_PLUGIN_DEPENDS_ON_MYSQL_INTERNALS(federated, [ha_federated.cc])
|
MYSQL_PLUGIN_DEPENDS_ON_MYSQL_INTERNALS(federated, [ha_federated.cc])
|
@@ -18,14 +18,14 @@ DEFS = @DEFS@
|
|||||||
noinst_HEADERS = ha_federatedx.h federatedx_probes.h
|
noinst_HEADERS = ha_federatedx.h federatedx_probes.h
|
||||||
|
|
||||||
EXTRA_LTLIBRARIES = ha_federatedx.la
|
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_LDFLAGS = -module -rpath $(pkgplugindir)
|
||||||
ha_federatedx_la_CXXFLAGS= $(AM_CFLAGS) -DMYSQL_DYNAMIC_PLUGIN
|
ha_federatedx_la_CXXFLAGS= $(AM_CFLAGS) -DMYSQL_DYNAMIC_PLUGIN
|
||||||
ha_federatedx_la_CFLAGS = $(AM_CFLAGS) -DMYSQL_DYNAMIC_PLUGIN
|
ha_federatedx_la_CFLAGS = $(AM_CFLAGS) -DMYSQL_DYNAMIC_PLUGIN
|
||||||
|
|
||||||
|
|
||||||
EXTRA_LIBRARIES = libfederatedx.a
|
EXTRA_LIBRARIES = libfederatedx.a
|
||||||
noinst_LIBRARIES = @plugin_federated_static_target@
|
noinst_LIBRARIES = @plugin_federatedx_static_target@
|
||||||
libfederatedx_a_CXXFLAGS = $(AM_CFLAGS)
|
libfederatedx_a_CXXFLAGS = $(AM_CFLAGS)
|
||||||
libfederatedx_a_CFLAGS = $(AM_CFLAGS)
|
libfederatedx_a_CFLAGS = $(AM_CFLAGS)
|
||||||
libfederatedx_a_SOURCES= ha_federatedx.cc federatedx_txn.cc \
|
libfederatedx_a_SOURCES= ha_federatedx.cc federatedx_txn.cc \
|
||||||
|
@@ -3495,7 +3495,7 @@ int ha_federatedx::rollback(handlerton *hton, MYSQL_THD thd, bool all)
|
|||||||
struct st_mysql_storage_engine federatedx_storage_engine=
|
struct st_mysql_storage_engine federatedx_storage_engine=
|
||||||
{ MYSQL_HANDLERTON_INTERFACE_VERSION };
|
{ MYSQL_HANDLERTON_INTERFACE_VERSION };
|
||||||
|
|
||||||
mysql_declare_plugin(federated)
|
mysql_declare_plugin(federatedx)
|
||||||
{
|
{
|
||||||
MYSQL_STORAGE_ENGINE_PLUGIN,
|
MYSQL_STORAGE_ENGINE_PLUGIN,
|
||||||
&federatedx_storage_engine,
|
&federatedx_storage_engine,
|
||||||
@@ -3511,7 +3511,7 @@ mysql_declare_plugin(federated)
|
|||||||
NULL /* config options */
|
NULL /* config options */
|
||||||
}
|
}
|
||||||
mysql_declare_plugin_end;
|
mysql_declare_plugin_end;
|
||||||
maria_declare_plugin(federated)
|
maria_declare_plugin(federatedx)
|
||||||
{
|
{
|
||||||
MYSQL_STORAGE_ENGINE_PLUGIN,
|
MYSQL_STORAGE_ENGINE_PLUGIN,
|
||||||
&federatedx_storage_engine,
|
&federatedx_storage_engine,
|
||||||
|
@@ -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])
|
[FederatedX Storage Engine], [max,max-no-ndb])
|
||||||
MYSQL_PLUGIN_DYNAMIC(federated, [ha_federatedx.la])
|
MYSQL_PLUGIN_DYNAMIC(federatedx, [ha_federatedx.la])
|
||||||
MYSQL_PLUGIN_STATIC(federated, [libfederatedx.a])
|
MYSQL_PLUGIN_STATIC(federatedx, [libfederatedx.a])
|
||||||
MYSQL_PLUGIN_DEPENDS_ON_MYSQL_INTERNALS(federated, [ha_federatedx.cc])
|
MYSQL_PLUGIN_DEPENDS_ON_MYSQL_INTERNALS(federatedx, [ha_federatedx.cc])
|
||||||
|
@@ -15,7 +15,7 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
MYSQL_STORAGE_ENGINE(innodb_plugin,, [InnoDB Storage Engine],
|
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_DIRECTORY(innodb_plugin, [storage/innodb_plugin])
|
||||||
MYSQL_PLUGIN_DYNAMIC(innodb_plugin, [ha_innodb_plugin.la])
|
MYSQL_PLUGIN_DYNAMIC(innodb_plugin, [ha_innodb_plugin.la])
|
||||||
MYSQL_PLUGIN_ACTIONS(innodb_plugin, [
|
MYSQL_PLUGIN_ACTIONS(innodb_plugin, [
|
@@ -31,7 +31,7 @@ ENDIF (CMAKE_SIZEOF_VOID_P MATCHES 8)
|
|||||||
|
|
||||||
ADD_DEFINITIONS(-D_WIN32 -D_LIB -DMYSQL_SERVER)
|
ADD_DEFINITIONS(-D_WIN32 -D_LIB -DMYSQL_SERVER)
|
||||||
|
|
||||||
# Include directories under innobase
|
# Include directories under xtradb
|
||||||
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/storage/xtradb/include
|
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/storage/xtradb/include
|
||||||
${CMAKE_SOURCE_DIR}/storage/xtradb/handler)
|
${CMAKE_SOURCE_DIR}/storage/xtradb/handler)
|
||||||
|
|
||||||
@@ -49,7 +49,7 @@ IF (MSVC AND $(WIN64))
|
|||||||
PROPERTIES COMPILE_FLAGS -Od)
|
PROPERTIES COMPILE_FLAGS -Od)
|
||||||
ENDIF (MSVC AND $(WIN64))
|
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
|
buf/buf0buddy.c buf/buf0buf.c buf/buf0flu.c buf/buf0lru.c buf/buf0rea.c
|
||||||
data/data0data.c data/data0type.c
|
data/data0data.c data/data0type.c
|
||||||
dict/dict0boot.c dict/dict0crea.c dict/dict0dict.c dict/dict0load.c dict/dict0mem.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)
|
ADD_DEFINITIONS(-DHAVE_WINDOWS_ATOMICS -DIB_HAVE_PAUSE_INSTRUCTION)
|
||||||
|
|
||||||
IF (MYSQL_VERSION_ID GREATER "50137")
|
IF (MYSQL_VERSION_ID GREATER "50137")
|
||||||
MYSQL_STORAGE_ENGINE(INNOBASE)
|
MYSQL_STORAGE_ENGINE(XTRADB)
|
||||||
# Use ha_innodb for plugin name, if plugin is built
|
GET_TARGET_PROPERTY(LIB_LOCATION ha_xtradb LOCATION)
|
||||||
GET_TARGET_PROPERTY(LIB_LOCATION ha_innobase LOCATION)
|
|
||||||
IF(LIB_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)
|
ENDIF(LIB_LOCATION)
|
||||||
ELSE (MYSQL_VERSION_ID GREATER "50137")
|
ELSE (MYSQL_VERSION_ID GREATER "50137")
|
||||||
IF (NOT SOURCE_SUBLIBS)
|
IF (NOT SOURCE_SUBLIBS)
|
||||||
ADD_DEFINITIONS(-D_WIN32 -DMYSQL_SERVER)
|
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
|
# 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 (NOT SOURCE_SUBLIBS)
|
||||||
ENDIF (MYSQL_VERSION_ID GREATER "50137")
|
ENDIF (MYSQL_VERSION_ID GREATER "50137")
|
||||||
|
@@ -228,9 +228,9 @@ noinst_HEADERS= \
|
|||||||
handler/innodb_patch_info.h \
|
handler/innodb_patch_info.h \
|
||||||
mem/mem0dbg.c
|
mem/mem0dbg.c
|
||||||
|
|
||||||
EXTRA_LIBRARIES= libinnobase.a
|
EXTRA_LIBRARIES= libxtradb.a
|
||||||
noinst_LIBRARIES= @plugin_innobase_static_target@
|
noinst_LIBRARIES= @plugin_xtradb_static_target@
|
||||||
libinnobase_a_SOURCES= \
|
libxtradb_a_SOURCES= \
|
||||||
btr/btr0btr.c \
|
btr/btr0btr.c \
|
||||||
btr/btr0cur.c \
|
btr/btr0cur.c \
|
||||||
btr/btr0pcur.c \
|
btr/btr0pcur.c \
|
||||||
@@ -324,16 +324,16 @@ libinnobase_a_SOURCES= \
|
|||||||
ut/ut0vec.c \
|
ut/ut0vec.c \
|
||||||
ut/ut0wqueue.c
|
ut/ut0wqueue.c
|
||||||
|
|
||||||
libinnobase_a_CXXFLAGS= $(AM_CFLAGS)
|
libxtradb_a_CXXFLAGS= $(AM_CFLAGS)
|
||||||
libinnobase_a_CFLAGS= $(AM_CFLAGS)
|
libxtradb_a_CFLAGS= $(AM_CFLAGS)
|
||||||
|
|
||||||
EXTRA_LTLIBRARIES= ha_innodb.la
|
EXTRA_LTLIBRARIES= ha_xtradb.la
|
||||||
pkgplugin_LTLIBRARIES= @plugin_innobase_shared_target@
|
pkgplugin_LTLIBRARIES= @plugin_xtradb_shared_target@
|
||||||
|
|
||||||
ha_innodb_la_LDFLAGS= -module -rpath $(pkgplugindir)
|
ha_xtradb_la_LDFLAGS= -module -rpath $(pkgplugindir)
|
||||||
ha_innodb_la_CXXFLAGS= $(AM_CFLAGS) $(INNODB_DYNAMIC_CFLAGS)
|
ha_xtradb_la_CXXFLAGS= $(AM_CFLAGS) $(INNODB_DYNAMIC_CFLAGS)
|
||||||
ha_innodb_la_CFLAGS= $(AM_CFLAGS) $(INNODB_DYNAMIC_CFLAGS)
|
ha_xtradb_la_CFLAGS= $(AM_CFLAGS) $(INNODB_DYNAMIC_CFLAGS)
|
||||||
ha_innodb_la_SOURCES= $(libinnobase_a_SOURCES)
|
ha_xtradb_la_SOURCES= $(libxtradb_a_SOURCES)
|
||||||
|
|
||||||
EXTRA_DIST= CMakeLists.txt plug.in \
|
EXTRA_DIST= CMakeLists.txt plug.in \
|
||||||
pars/make_bison.sh pars/make_flex.sh \
|
pars/make_bison.sh pars/make_flex.sh \
|
||||||
|
@@ -10931,7 +10931,7 @@ static struct st_mysql_sys_var* innobase_system_variables[]= {
|
|||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
mysql_declare_plugin(innobase)
|
mysql_declare_plugin(xtradb)
|
||||||
{
|
{
|
||||||
MYSQL_STORAGE_ENGINE_PLUGIN,
|
MYSQL_STORAGE_ENGINE_PLUGIN,
|
||||||
&innobase_storage_engine,
|
&innobase_storage_engine,
|
||||||
@@ -10964,7 +10964,7 @@ i_s_innodb_sys_tables,
|
|||||||
i_s_innodb_sys_indexes,
|
i_s_innodb_sys_indexes,
|
||||||
i_s_innodb_patches
|
i_s_innodb_patches
|
||||||
mysql_declare_plugin_end;
|
mysql_declare_plugin_end;
|
||||||
maria_declare_plugin(innobase)
|
maria_declare_plugin(xtradb)
|
||||||
{ /* InnoDB */
|
{ /* InnoDB */
|
||||||
MYSQL_STORAGE_ENGINE_PLUGIN,
|
MYSQL_STORAGE_ENGINE_PLUGIN,
|
||||||
&innobase_storage_engine,
|
&innobase_storage_engine,
|
||||||
|
@@ -268,7 +268,7 @@ rec_get_next_ptr_const(
|
|||||||
return(NULL);
|
return(NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (UNIV_EXPECT(comp, REC_OFFS_COMPACT)) {
|
if (UNIV_LIKELY(comp != 0)) {
|
||||||
#if UNIV_PAGE_SIZE <= 32768
|
#if UNIV_PAGE_SIZE <= 32768
|
||||||
/* Note that for 64 KiB pages, field_value can 'wrap around'
|
/* Note that for 64 KiB pages, field_value can 'wrap around'
|
||||||
and the debug assertion is not valid */
|
and the debug assertion is not valid */
|
||||||
@@ -336,7 +336,7 @@ rec_get_next_offs(
|
|||||||
|
|
||||||
field_value = mach_read_from_2(rec - REC_NEXT);
|
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
|
#if UNIV_PAGE_SIZE <= 32768
|
||||||
/* Note that for 64 KiB pages, field_value can 'wrap around'
|
/* Note that for 64 KiB pages, field_value can 'wrap around'
|
||||||
and the debug assertion is not valid */
|
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)
|
& (REC_INFO_BITS_MASK >> REC_INFO_BITS_SHIFT)
|
||||||
# error "REC_NEW_STATUS_MASK and REC_INFO_BITS_MASK overlap"
|
# error "REC_NEW_STATUS_MASK and REC_INFO_BITS_MASK overlap"
|
||||||
#endif
|
#endif
|
||||||
if (UNIV_EXPECT(comp, REC_OFFS_COMPACT)) {
|
if (UNIV_LIKELY(comp != 0)) {
|
||||||
bits = rec_get_info_bits(rec, TRUE) | rec_get_status(rec);
|
bits = rec_get_info_bits(rec, TRUE) | rec_get_status(rec);
|
||||||
} else {
|
} else {
|
||||||
bits = rec_get_info_bits(rec, FALSE);
|
bits = rec_get_info_bits(rec, FALSE);
|
||||||
@@ -683,7 +683,7 @@ rec_get_deleted_flag(
|
|||||||
const rec_t* rec, /*!< in: physical record */
|
const rec_t* rec, /*!< in: physical record */
|
||||||
ulint comp) /*!< in: nonzero=compact page format */
|
ulint comp) /*!< in: nonzero=compact page format */
|
||||||
{
|
{
|
||||||
if (UNIV_EXPECT(comp, REC_OFFS_COMPACT)) {
|
if (UNIV_LIKELY(comp != 0)) {
|
||||||
return(UNIV_UNLIKELY(
|
return(UNIV_UNLIKELY(
|
||||||
rec_get_bit_field_1(rec, REC_NEW_INFO_BITS,
|
rec_get_bit_field_1(rec, REC_NEW_INFO_BITS,
|
||||||
REC_INFO_DELETED_FLAG,
|
REC_INFO_DELETED_FLAG,
|
||||||
|
@@ -14,12 +14,13 @@
|
|||||||
# Place, Suite 330, Boston, MA 02111-1307 USA
|
# Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
#
|
#
|
||||||
|
|
||||||
MYSQL_STORAGE_ENGINE(innobase, innodb, [InnoDB Storage Engine],
|
MYSQL_STORAGE_ENGINE(xtradb, xtradb, [XtraDB Storage Engine],
|
||||||
[Transactional Tables using InnoDB], [max,max-no-ndb])
|
[XtraDB - a drop-in replacement for InnoDB], [max,max-no-ndb])
|
||||||
MYSQL_PLUGIN_DIRECTORY(innobase, [storage/xtradb])
|
MYSQL_PLUGIN_DIRECTORY(xtradb, [storage/xtradb])
|
||||||
MYSQL_PLUGIN_STATIC(innobase, [libinnobase.a])
|
MYSQL_PLUGIN_STATIC(xtradb, [libxtradb.a])
|
||||||
MYSQL_PLUGIN_DYNAMIC(innobase, [ha_innodb.la])
|
MYSQL_PLUGIN_DYNAMIC(xtradb, [ha_xtradb.la])
|
||||||
MYSQL_PLUGIN_ACTIONS(innobase, [
|
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_CHECK_LIB(rt, aio_read, [innodb_system_libs="-lrt"])
|
||||||
AC_SUBST(innodb_system_libs)
|
AC_SUBST(innodb_system_libs)
|
||||||
AC_CHECK_HEADERS(aio.h sched.h)
|
AC_CHECK_HEADERS(aio.h sched.h)
|
||||||
|
Reference in New Issue
Block a user