mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
Patch for trunk after merge from 5.1-bugteam of bug52913.
This commit is contained in:
parent
7cfc7d7265
commit
6eaf7e6c45
8 changed files with 446 additions and 0 deletions
|
@ -91,3 +91,5 @@ parts.partition_mgm_lc1_ndb # joro : NDB tests marked as experiment
|
|||
parts.partition_mgm_lc2_ndb # joro : NDB tests marked as experimental as agreed with bochklin
|
||||
parts.partition_syntax_ndb # joro : NDB tests marked as experimental as agreed with bochklin
|
||||
parts.partition_value_ndb # joro : NDB tests marked as experimental as agreed with bochklin
|
||||
main.mysqlhotcopy_myisam # horst: due to bug#54129
|
||||
main.mysqlhotcopy_archive # horst: due to bug#54129
|
||||
|
|
116
mysql-test/include/mysqlhotcopy.inc
Normal file
116
mysql-test/include/mysqlhotcopy.inc
Normal file
|
@ -0,0 +1,116 @@
|
|||
# Test of mysqlhotcopy (perl script)
|
||||
# Author: Horst Hunger
|
||||
# Created: 2010-05-10
|
||||
|
||||
--source include/not_windows.inc
|
||||
--source include/not_embedded.inc
|
||||
|
||||
let $MYSQLD_DATADIR= `SELECT @@datadir`;
|
||||
--disable_warnings
|
||||
DROP DATABASE IF EXISTS hotcopy_test;
|
||||
--enable_warnings
|
||||
CREATE DATABASE hotcopy_test;
|
||||
USE hotcopy_test;
|
||||
eval CREATE TABLE t1 (c1 int, c2 varchar(20)) ENGINE=$engine;
|
||||
eval CREATE TABLE t2 (c1 int, c2 varchar(20)) ENGINE=$engine;
|
||||
eval CREATE TABLE t3 (c1 int, c2 varchar(20)) ENGINE=$engine;
|
||||
|
||||
INSERT INTO t1 VALUES (1,'aaaaaaaaaaaaaaaaaaaa'),(2, 'bbbbbbbbbbbbbbbbbbbbbbb');
|
||||
INSERT INTO t2 VALUES (1,'aaaaaaaaaaaaaaaaaaaa'),(2, 'bbbbbbbbbbbbbbbbbbbbbbb');
|
||||
INSERT INTO t3 VALUES (1,'aaaaaaaaaaaaaaaaaaaa'),(2, 'bbbbbbbbbbbbbbbbbbbbbbb');
|
||||
|
||||
--replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
|
||||
--list_files $MYSQLD_DATADIR/hotcopy_test
|
||||
|
||||
# backup into another database in the same directory
|
||||
--replace_result $MASTER_MYSOCK MASTER_MYSOCK
|
||||
--exec $MYSQLHOTCOPY --quiet -S $MASTER_MYSOCK -u root hotcopy_test hotcopy_save
|
||||
|
||||
--replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
|
||||
--list_files $MYSQLD_DATADIR/hotcopy_save
|
||||
|
||||
USE hotcopy_save;
|
||||
SELECT * FROM t1;
|
||||
SELECT * FROM t2;
|
||||
SELECT * FROM t3;
|
||||
|
||||
# restore data into the original database with mysqlhotcopy
|
||||
if(`SELECT engine= 'MyISAM' FROM information_schema.tables WHERE table_name='t1'`)
|
||||
{
|
||||
USE hotcopy_test;
|
||||
DELETE FROM t1;
|
||||
SELECT * FROM t1;
|
||||
|
||||
--replace_result $MASTER_MYSOCK MASTER_MYSOCK
|
||||
--exec $MYSQLHOTCOPY --quiet --addtodest -S $MASTER_MYSOCK -u root hotcopy_save hotcopy_test
|
||||
|
||||
USE hotcopy_save;
|
||||
SELECT * FROM t1;
|
||||
SELECT * FROM t2;
|
||||
SELECT * FROM t3;
|
||||
}
|
||||
|
||||
USE hotcopy_test;
|
||||
DROP TABLE t2;
|
||||
--replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
|
||||
--list_files $MYSQLD_DATADIR/hotcopy_test
|
||||
|
||||
--replace_result $MASTER_MYSOCK MASTER_MYSOCK
|
||||
--exec $MYSQLHOTCOPY --quiet --addtodest -S $MASTER_MYSOCK -u root hotcopy_save hotcopy_test
|
||||
|
||||
FLUSH TABLES;
|
||||
SELECT * FROM t1;
|
||||
SELECT * FROM t2;
|
||||
SELECT * FROM t3;
|
||||
|
||||
# backup of db into a directory
|
||||
USE hotcopy_test;
|
||||
--replace_result $MASTER_MYSOCK MASTER_MYSOCK $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MYSQLHOTCOPY --quiet -S $MASTER_MYSOCK -u root hotcopy_test $MYSQLTEST_VARDIR/tmp
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--list_files $MYSQLTEST_VARDIR/tmp/hotcopy_test
|
||||
#--exec rm -rf $MYSQLTEST_VARDIR/tmp/hotcopy_test
|
||||
--remove_files_wildcard $MYSQLTEST_VARDIR/tmp/hotcopy_test *
|
||||
--rmdir $MYSQLTEST_VARDIR/tmp/hotcopy_test
|
||||
|
||||
# backup without full index files
|
||||
# reproduction of bug#53556, "--list_files" shows MYI files, which is wrong.
|
||||
DROP DATABASE hotcopy_save;
|
||||
--replace_result $MASTER_MYSOCK MASTER_MYSOCK
|
||||
--exec $MYSQLHOTCOPY --quiet --noindices -S $MASTER_MYSOCK -u root hotcopy_test hotcopy_save
|
||||
--replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
|
||||
--list_files $MYSQLD_DATADIR/hotcopy_save
|
||||
|
||||
# test of option "allowold"
|
||||
DROP DATABASE hotcopy_save;
|
||||
--replace_result $MASTER_MYSOCK MASTER_MYSOCK
|
||||
--exec $MYSQLHOTCOPY --quiet -S $MASTER_MYSOCK -u root hotcopy_test hotcopy_save
|
||||
--replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
|
||||
--list_files $MYSQLD_DATADIR/hotcopy_save
|
||||
--replace_result $MASTER_MYSOCK MASTER_MYSOCK
|
||||
--error 9,2304
|
||||
--exec $MYSQLHOTCOPY --quiet -S $MASTER_MYSOCK -u root hotcopy_test hotcopy_save
|
||||
--replace_result $MASTER_MYSOCK MASTER_MYSOCK
|
||||
--exec $MYSQLHOTCOPY --quiet --allowold -S $MASTER_MYSOCK -u root hotcopy_test hotcopy_save
|
||||
--replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
|
||||
--list_files $MYSQLD_DATADIR/hotcopy_save
|
||||
|
||||
# test of option "keepold"
|
||||
--replace_result $MASTER_MYSOCK MASTER_MYSOCK
|
||||
--exec $MYSQLHOTCOPY --quiet --keepold -S $MASTER_MYSOCK -u root hotcopy_test hotcopy_save
|
||||
--replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
|
||||
--list_files $MYSQLD_DATADIR/hotcopy_save_old
|
||||
--replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
|
||||
--list_files $MYSQLD_DATADIR/hotcopy_save
|
||||
|
||||
# test of option "suffix"
|
||||
--replace_result $MASTER_MYSOCK MASTER_MYSOCK
|
||||
--exec $MYSQLHOTCOPY --quiet --suffix=_cpy -S $MASTER_MYSOCK -u root hotcopy_test
|
||||
--replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
|
||||
--list_files $MYSQLD_DATADIR/hotcopy_test_cpy
|
||||
DROP DATABASE hotcopy_test_cpy;
|
||||
|
||||
DROP DATABASE hotcopy_test;
|
||||
DROP DATABASE hotcopy_save;
|
||||
DROP DATABASE hotcopy_save_old;
|
||||
|
|
@ -147,6 +147,28 @@ sub mtr_exe_maybe_exists (@) {
|
|||
}
|
||||
|
||||
|
||||
#
|
||||
# NOTE! More specific paths should be given before less specific.
|
||||
#
|
||||
sub mtr_pl_maybe_exists (@) {
|
||||
my @path= @_;
|
||||
|
||||
map {$_.= ".pl"} @path if IS_WINDOWS;
|
||||
foreach my $path ( @path )
|
||||
{
|
||||
if(IS_WINDOWS)
|
||||
{
|
||||
return $path if -f $path;
|
||||
}
|
||||
else
|
||||
{
|
||||
return $path if -x $path;
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# NOTE! More specific paths should be given before less specific.
|
||||
# For example /client/debug should be listed before /client
|
||||
|
|
|
@ -2110,6 +2110,15 @@ sub environment_setup {
|
|||
"$basedir/storage/myisam/myisampack",
|
||||
"$basedir/myisam/myisampack"));
|
||||
|
||||
# ----------------------------------------------------
|
||||
# mysqlhotcopy
|
||||
# ----------------------------------------------------
|
||||
my $mysqlhotcopy=
|
||||
mtr_pl_maybe_exists("$basedir/scripts/mysqlhotcopy");
|
||||
# Since mysqltest interprets the real path as "false" in an if,
|
||||
# use 1 ("true") to indicate "not exists" so it can be tested for
|
||||
$ENV{'MYSQLHOTCOPY'}= $mysqlhotcopy || 1;
|
||||
|
||||
# ----------------------------------------------------
|
||||
# perror
|
||||
# ----------------------------------------------------
|
||||
|
|
118
mysql-test/r/mysqlhotcopy_archive.result
Normal file
118
mysql-test/r/mysqlhotcopy_archive.result
Normal file
|
@ -0,0 +1,118 @@
|
|||
DROP DATABASE IF EXISTS hotcopy_test;
|
||||
CREATE DATABASE hotcopy_test;
|
||||
USE hotcopy_test;
|
||||
CREATE TABLE t1 (c1 int, c2 varchar(20)) ENGINE=archive;
|
||||
CREATE TABLE t2 (c1 int, c2 varchar(20)) ENGINE=archive;
|
||||
CREATE TABLE t3 (c1 int, c2 varchar(20)) ENGINE=archive;
|
||||
INSERT INTO t1 VALUES (1,'aaaaaaaaaaaaaaaaaaaa'),(2, 'bbbbbbbbbbbbbbbbbbbbbbb');
|
||||
Warnings:
|
||||
Warning 1265 Data truncated for column 'c2' at row 2
|
||||
INSERT INTO t2 VALUES (1,'aaaaaaaaaaaaaaaaaaaa'),(2, 'bbbbbbbbbbbbbbbbbbbbbbb');
|
||||
Warnings:
|
||||
Warning 1265 Data truncated for column 'c2' at row 2
|
||||
INSERT INTO t3 VALUES (1,'aaaaaaaaaaaaaaaaaaaa'),(2, 'bbbbbbbbbbbbbbbbbbbbbbb');
|
||||
Warnings:
|
||||
Warning 1265 Data truncated for column 'c2' at row 2
|
||||
db.opt
|
||||
t1.ARZ
|
||||
t1.frm
|
||||
t2.ARZ
|
||||
t2.frm
|
||||
t3.ARZ
|
||||
t3.frm
|
||||
db.opt
|
||||
t1.ARZ
|
||||
t1.frm
|
||||
t2.ARZ
|
||||
t2.frm
|
||||
t3.ARZ
|
||||
t3.frm
|
||||
USE hotcopy_save;
|
||||
SELECT * FROM t1;
|
||||
c1 c2
|
||||
1 aaaaaaaaaaaaaaaaaaaa
|
||||
2 bbbbbbbbbbbbbbbbbbbb
|
||||
SELECT * FROM t2;
|
||||
c1 c2
|
||||
1 aaaaaaaaaaaaaaaaaaaa
|
||||
2 bbbbbbbbbbbbbbbbbbbb
|
||||
SELECT * FROM t3;
|
||||
c1 c2
|
||||
1 aaaaaaaaaaaaaaaaaaaa
|
||||
2 bbbbbbbbbbbbbbbbbbbb
|
||||
USE hotcopy_test;
|
||||
DROP TABLE t2;
|
||||
db.opt
|
||||
t1.ARZ
|
||||
t1.frm
|
||||
t3.ARZ
|
||||
t3.frm
|
||||
FLUSH TABLES;
|
||||
SELECT * FROM t1;
|
||||
c1 c2
|
||||
1 aaaaaaaaaaaaaaaaaaaa
|
||||
2 bbbbbbbbbbbbbbbbbbbb
|
||||
SELECT * FROM t2;
|
||||
c1 c2
|
||||
1 aaaaaaaaaaaaaaaaaaaa
|
||||
2 bbbbbbbbbbbbbbbbbbbb
|
||||
SELECT * FROM t3;
|
||||
c1 c2
|
||||
1 aaaaaaaaaaaaaaaaaaaa
|
||||
2 bbbbbbbbbbbbbbbbbbbb
|
||||
USE hotcopy_test;
|
||||
db.opt
|
||||
t1.ARZ
|
||||
t1.frm
|
||||
t2.ARZ
|
||||
t2.frm
|
||||
t3.ARZ
|
||||
t3.frm
|
||||
DROP DATABASE hotcopy_save;
|
||||
db.opt
|
||||
t1.ARZ
|
||||
t1.frm
|
||||
t2.ARZ
|
||||
t2.frm
|
||||
t3.ARZ
|
||||
t3.frm
|
||||
DROP DATABASE hotcopy_save;
|
||||
db.opt
|
||||
t1.ARZ
|
||||
t1.frm
|
||||
t2.ARZ
|
||||
t2.frm
|
||||
t3.ARZ
|
||||
t3.frm
|
||||
db.opt
|
||||
t1.ARZ
|
||||
t1.frm
|
||||
t2.ARZ
|
||||
t2.frm
|
||||
t3.ARZ
|
||||
t3.frm
|
||||
db.opt
|
||||
t1.ARZ
|
||||
t1.frm
|
||||
t2.ARZ
|
||||
t2.frm
|
||||
t3.ARZ
|
||||
t3.frm
|
||||
db.opt
|
||||
t1.ARZ
|
||||
t1.frm
|
||||
t2.ARZ
|
||||
t2.frm
|
||||
t3.ARZ
|
||||
t3.frm
|
||||
db.opt
|
||||
t1.ARZ
|
||||
t1.frm
|
||||
t2.ARZ
|
||||
t2.frm
|
||||
t3.ARZ
|
||||
t3.frm
|
||||
DROP DATABASE hotcopy_test_cpy;
|
||||
DROP DATABASE hotcopy_test;
|
||||
DROP DATABASE hotcopy_save;
|
||||
DROP DATABASE hotcopy_save_old;
|
164
mysql-test/r/mysqlhotcopy_myisam.result
Normal file
164
mysql-test/r/mysqlhotcopy_myisam.result
Normal file
|
@ -0,0 +1,164 @@
|
|||
DROP DATABASE IF EXISTS hotcopy_test;
|
||||
CREATE DATABASE hotcopy_test;
|
||||
USE hotcopy_test;
|
||||
CREATE TABLE t1 (c1 int, c2 varchar(20)) ENGINE=MyISAM;
|
||||
CREATE TABLE t2 (c1 int, c2 varchar(20)) ENGINE=MyISAM;
|
||||
CREATE TABLE t3 (c1 int, c2 varchar(20)) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1,'aaaaaaaaaaaaaaaaaaaa'),(2, 'bbbbbbbbbbbbbbbbbbbbbbb');
|
||||
Warnings:
|
||||
Warning 1265 Data truncated for column 'c2' at row 2
|
||||
INSERT INTO t2 VALUES (1,'aaaaaaaaaaaaaaaaaaaa'),(2, 'bbbbbbbbbbbbbbbbbbbbbbb');
|
||||
Warnings:
|
||||
Warning 1265 Data truncated for column 'c2' at row 2
|
||||
INSERT INTO t3 VALUES (1,'aaaaaaaaaaaaaaaaaaaa'),(2, 'bbbbbbbbbbbbbbbbbbbbbbb');
|
||||
Warnings:
|
||||
Warning 1265 Data truncated for column 'c2' at row 2
|
||||
db.opt
|
||||
t1.MYD
|
||||
t1.MYI
|
||||
t1.frm
|
||||
t2.MYD
|
||||
t2.MYI
|
||||
t2.frm
|
||||
t3.MYD
|
||||
t3.MYI
|
||||
t3.frm
|
||||
db.opt
|
||||
t1.MYD
|
||||
t1.MYI
|
||||
t1.frm
|
||||
t2.MYD
|
||||
t2.MYI
|
||||
t2.frm
|
||||
t3.MYD
|
||||
t3.MYI
|
||||
t3.frm
|
||||
USE hotcopy_save;
|
||||
SELECT * FROM t1;
|
||||
c1 c2
|
||||
1 aaaaaaaaaaaaaaaaaaaa
|
||||
2 bbbbbbbbbbbbbbbbbbbb
|
||||
SELECT * FROM t2;
|
||||
c1 c2
|
||||
1 aaaaaaaaaaaaaaaaaaaa
|
||||
2 bbbbbbbbbbbbbbbbbbbb
|
||||
SELECT * FROM t3;
|
||||
c1 c2
|
||||
1 aaaaaaaaaaaaaaaaaaaa
|
||||
2 bbbbbbbbbbbbbbbbbbbb
|
||||
USE hotcopy_test;
|
||||
DELETE FROM t1;
|
||||
SELECT * FROM t1;
|
||||
c1 c2
|
||||
USE hotcopy_save;
|
||||
SELECT * FROM t1;
|
||||
c1 c2
|
||||
1 aaaaaaaaaaaaaaaaaaaa
|
||||
2 bbbbbbbbbbbbbbbbbbbb
|
||||
SELECT * FROM t2;
|
||||
c1 c2
|
||||
1 aaaaaaaaaaaaaaaaaaaa
|
||||
2 bbbbbbbbbbbbbbbbbbbb
|
||||
SELECT * FROM t3;
|
||||
c1 c2
|
||||
1 aaaaaaaaaaaaaaaaaaaa
|
||||
2 bbbbbbbbbbbbbbbbbbbb
|
||||
USE hotcopy_test;
|
||||
DROP TABLE t2;
|
||||
db.opt
|
||||
t1.MYD
|
||||
t1.MYI
|
||||
t1.frm
|
||||
t3.MYD
|
||||
t3.MYI
|
||||
t3.frm
|
||||
FLUSH TABLES;
|
||||
SELECT * FROM t1;
|
||||
c1 c2
|
||||
1 aaaaaaaaaaaaaaaaaaaa
|
||||
2 bbbbbbbbbbbbbbbbbbbb
|
||||
SELECT * FROM t2;
|
||||
c1 c2
|
||||
1 aaaaaaaaaaaaaaaaaaaa
|
||||
2 bbbbbbbbbbbbbbbbbbbb
|
||||
SELECT * FROM t3;
|
||||
c1 c2
|
||||
1 aaaaaaaaaaaaaaaaaaaa
|
||||
2 bbbbbbbbbbbbbbbbbbbb
|
||||
USE hotcopy_test;
|
||||
db.opt
|
||||
t1.MYD
|
||||
t1.MYI
|
||||
t1.frm
|
||||
t2.MYD
|
||||
t2.MYI
|
||||
t2.frm
|
||||
t3.MYD
|
||||
t3.MYI
|
||||
t3.frm
|
||||
DROP DATABASE hotcopy_save;
|
||||
db.opt
|
||||
t1.MYD
|
||||
t1.MYI
|
||||
t1.frm
|
||||
t2.MYD
|
||||
t2.MYI
|
||||
t2.frm
|
||||
t3.MYD
|
||||
t3.MYI
|
||||
t3.frm
|
||||
DROP DATABASE hotcopy_save;
|
||||
db.opt
|
||||
t1.MYD
|
||||
t1.MYI
|
||||
t1.frm
|
||||
t2.MYD
|
||||
t2.MYI
|
||||
t2.frm
|
||||
t3.MYD
|
||||
t3.MYI
|
||||
t3.frm
|
||||
db.opt
|
||||
t1.MYD
|
||||
t1.MYI
|
||||
t1.frm
|
||||
t2.MYD
|
||||
t2.MYI
|
||||
t2.frm
|
||||
t3.MYD
|
||||
t3.MYI
|
||||
t3.frm
|
||||
db.opt
|
||||
t1.MYD
|
||||
t1.MYI
|
||||
t1.frm
|
||||
t2.MYD
|
||||
t2.MYI
|
||||
t2.frm
|
||||
t3.MYD
|
||||
t3.MYI
|
||||
t3.frm
|
||||
db.opt
|
||||
t1.MYD
|
||||
t1.MYI
|
||||
t1.frm
|
||||
t2.MYD
|
||||
t2.MYI
|
||||
t2.frm
|
||||
t3.MYD
|
||||
t3.MYI
|
||||
t3.frm
|
||||
db.opt
|
||||
t1.MYD
|
||||
t1.MYI
|
||||
t1.frm
|
||||
t2.MYD
|
||||
t2.MYI
|
||||
t2.frm
|
||||
t3.MYD
|
||||
t3.MYI
|
||||
t3.frm
|
||||
DROP DATABASE hotcopy_test_cpy;
|
||||
DROP DATABASE hotcopy_test;
|
||||
DROP DATABASE hotcopy_save;
|
||||
DROP DATABASE hotcopy_save_old;
|
8
mysql-test/t/mysqlhotcopy_archive.test
Normal file
8
mysql-test/t/mysqlhotcopy_archive.test
Normal file
|
@ -0,0 +1,8 @@
|
|||
# Test of mysqlhotcopy (perl script)
|
||||
# Author: Horst Hunger
|
||||
# Created: 2010-05-10
|
||||
|
||||
--source include/have_archive.inc
|
||||
let $engine= archive;
|
||||
--source include/mysqlhotcopy.inc
|
||||
--exit
|
7
mysql-test/t/mysqlhotcopy_myisam.test
Normal file
7
mysql-test/t/mysqlhotcopy_myisam.test
Normal file
|
@ -0,0 +1,7 @@
|
|||
# Test of mysqlhotcopy (perl script)
|
||||
# Author: Horst Hunger
|
||||
# Created: 2010-05-10
|
||||
|
||||
let $engine= MyISAM;
|
||||
--source include/mysqlhotcopy.inc
|
||||
--exit
|
Loading…
Reference in a new issue