mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
78 lines
2.1 KiB
Text
78 lines
2.1 KiB
Text
|
#
|
||
|
# Optionally rollback prepared XA when backup is prepared
|
||
|
#
|
||
|
--source include/have_innodb.inc
|
||
|
--source include/have_binlog_format_mixed.inc
|
||
|
|
||
|
CALL mtr.add_suppression("Found 1 prepared XA transactions");
|
||
|
|
||
|
RESET MASTER;
|
||
|
|
||
|
let targetdir1=$MYSQLTEST_VARDIR/tmp/backup1;
|
||
|
let targetdir2=$MYSQLTEST_VARDIR/tmp/backup2;
|
||
|
let targetdir3=$MYSQLTEST_VARDIR/tmp/backup3;
|
||
|
let targetdir4=$MYSQLTEST_VARDIR/tmp/backup4;
|
||
|
|
||
|
CREATE TABLE t1 (a INT) ENGINE=INNODB;
|
||
|
XA START 'test1';
|
||
|
INSERT t1 VALUES (10);
|
||
|
XA END 'test1';
|
||
|
XA PREPARE 'test1';
|
||
|
XA RECOVER;
|
||
|
|
||
|
--echo # xtrabackup backup
|
||
|
--disable_result_log
|
||
|
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir1;
|
||
|
--enable_result_log
|
||
|
|
||
|
perl;
|
||
|
use lib "lib";
|
||
|
use My::Handles { suppress_init_messages => 1 };
|
||
|
use My::File::Path;
|
||
|
copytree($ENV{'targetdir1'}, $ENV{'targetdir2'});
|
||
|
copytree($ENV{'targetdir1'}, $ENV{'targetdir3'});
|
||
|
copytree($ENV{'targetdir1'}, $ENV{'targetdir4'});
|
||
|
EOF
|
||
|
|
||
|
XA ROLLBACK 'test1';
|
||
|
|
||
|
--echo # xtrabackup prepare and rollback prepared XA
|
||
|
--disable_result_log
|
||
|
exec $XTRABACKUP --prepare --rollback_xa --target-dir=$targetdir1;
|
||
|
--let $targetdir = $targetdir1
|
||
|
--source include/restart_and_restore.inc
|
||
|
--enable_result_log
|
||
|
XA RECOVER;
|
||
|
|
||
|
--echo # xtrabackup prepare and DO NOT rollback prepared XA
|
||
|
--disable_result_log
|
||
|
exec $XTRABACKUP --prepare --target-dir=$targetdir2;
|
||
|
--let $targetdir = $targetdir2
|
||
|
--source include/restart_and_restore.inc
|
||
|
--enable_result_log
|
||
|
XA RECOVER;
|
||
|
XA ROLLBACK 'test1';
|
||
|
|
||
|
--echo # xtrabackup prepare for export and rollback prepared XA
|
||
|
--disable_result_log
|
||
|
exec $XTRABACKUP --prepare --rollback_xa --export --target-dir=$targetdir3;
|
||
|
--let $targetdir = $targetdir3
|
||
|
--source include/restart_and_restore.inc
|
||
|
--enable_result_log
|
||
|
XA RECOVER;
|
||
|
|
||
|
--echo # xtrabackup prepare for export and DO NOT rollback prepared XA
|
||
|
--disable_result_log
|
||
|
exec $XTRABACKUP --prepare --export --target-dir=$targetdir4;
|
||
|
--let $targetdir = $targetdir4
|
||
|
--source include/restart_and_restore.inc
|
||
|
--enable_result_log
|
||
|
XA RECOVER;
|
||
|
XA ROLLBACK 'test1';
|
||
|
|
||
|
DROP TABLE t1;
|
||
|
rmdir $targetdir1;
|
||
|
rmdir $targetdir2;
|
||
|
rmdir $targetdir3;
|
||
|
rmdir $targetdir4;
|