Commit 290e9483 authored by Sergei Golubchik's avatar Sergei Golubchik

merge

parents a41bfebf e96e2f62
...@@ -5,9 +5,9 @@ ...@@ -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 @@ ...@@ -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 @@ ...@@ -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; ...@@ -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; ...@@ -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 { ...@@ -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"; ...@@ -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 ($$$) { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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= ...@@ -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],
......
This diff is collapsed.
...@@ -871,6 +871,9 @@ COLUMNS TABLE_NAME select ...@@ -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 ...@@ -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'; ...@@ -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
$OQGRAPH_PLUGIN_OPT --plugin-load=$GRAPH_ENGINE_SO
$OQGRAPH_PLUGIN_LOAD
...@@ -14,26 +14,26 @@ drop table if exists t1; ...@@ -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 ...@@ -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; ...@@ -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); ...@@ -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; ...@@ -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; ...@@ -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; ...@@ -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, ""); ...@@ -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; ...@@ -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);
......
...@@ -3,7 +3,7 @@ ...@@ -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;
......
--skip-grant-tables $EXAMPLE_PLUGIN_OPT --skip-grant-tables
...@@ -7,7 +7,7 @@ ...@@ -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
......
...@@ -531,6 +531,7 @@ drop table t1; ...@@ -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 @@ ...@@ -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; ...@@ -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
......
...@@ -3,7 +3,7 @@ ...@@ -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
......
...@@ -5,15 +5,15 @@ CREATE TABLE t1(a int) ENGINE=EXAMPLE; ...@@ -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; ...@@ -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; ...@@ -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;
......
$EXAMPLE_PLUGIN_OPT --plugin-load=EXAMPLE=$HA_EXAMPLE_SO
$EXAMPLE_PLUGIN_LOAD
--loose-plugin-example-enum-var=e2 --loose-plugin-example-enum-var=e2
...@@ -8,7 +8,7 @@ ...@@ -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;
......
...@@ -14,26 +14,26 @@ drop table if exists t1; ...@@ -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 ...@@ -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; ...@@ -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); ...@@ -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; ...@@ -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; ...@@ -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, ""); ...@@ -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; ...@@ -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);
......
...@@ -14,8 +14,8 @@ drop table if exists t1; ...@@ -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 \ ...@@ -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@ ...@@ -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
......
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@ ...@@ -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) ...@@ -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) ...@@ -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,
......
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 @@ ...@@ -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) ...@@ -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)) ...@@ -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 ...@@ -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= \ ...@@ -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= \ ...@@ -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[]= { ...@@ -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, ...@@ -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( ...@@ -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( ...@@ -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( ...@@ -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( ...@@ -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 @@ ...@@ -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)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment