summaryrefslogtreecommitdiff
path: root/mysql-test/suite/mariabackup/incremental_drop_db.test
blob: de270435e9d089c66551bdbbd615c795cf6cde90 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
--source include/have_innodb.inc
call mtr.add_suppression("InnoDB: New log files created");

--echo #
--echo # Start of 10.3 tests
--echo #

--echo #
--echo # MDEV-23335 MariaBackup Incremental Does Not Reflect Dropped/Created Databases
--echo #

--let $datadir=`SELECT @@datadir`
--let $basedir=$MYSQLTEST_VARDIR/tmp/backup
--let $incremental_dir=$MYSQLTEST_VARDIR/tmp/backup_inc1

# Create two databases:
# - db1 is dropped normally below
# - db2 is used to cover a corner case: its db.opt file is removed

# Incremental backup contains:
# - no directory for db1
# - an empty directory for db2 (after we remove db2/db.opt)


CREATE DATABASE db1;
CREATE DATABASE db2;

# Add some tables to db1
CREATE TABLE db1.t1 (a INT) ENGINE=MyISAM;
CREATE TABLE db1.t2 (a INT) ENGINE=InnoDB;

--echo # Create base backup
--disable_result_log
--exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$basedir
--enable_result_log

DROP DATABASE db1;

--echo # Create incremental backup
--exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$incremental_dir --incremental-basedir=$basedir

--echo # Remove incremental_dir/db2/db.opt file to make incremental_dir/db2/ empty
--remove_file $incremental_dir/db2/db.opt


--echo # Prepare base backup, apply incremental one
--disable_result_log
--exec $XTRABACKUP --prepare --target-dir=$basedir
--exec $XTRABACKUP --prepare --target-dir=$basedir --incremental-dir=$incremental_dir
--enable_result_log

--let $targetdir=$basedir
--source include/restart_and_restore.inc
--enable_result_log

--echo # Expect no 'db1' in the output, because it was really dropped.
--echo # Expect 'db2' in the ouput, because it was not dropped!
--echo # (its incremental directory was emptied only)

SHOW DATABASES LIKE 'db%';
DROP DATABASE db2;

--rmdir $basedir
--rmdir $incremental_dir

--echo #
--echo # End of 10.3 tests
--echo #