summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
authorJan Lindström <jan.lindstrom@mariadb.com>2018-01-29 14:21:08 +0200
committerJan Lindström <jan.lindstrom@mariadb.com>2018-01-29 14:23:22 +0200
commit2749d2509661c2addbf78ec5f5b2218ff7301b0f (patch)
tree714722723228f8ca1a96783a98ea8991257299ef /mysql-test
parentf9179b36d313ef50240407fcb2737ac3a0aa3b9e (diff)
downloadmariadb-git-2749d2509661c2addbf78ec5f5b2218ff7301b0f.tar.gz
MDEV-13499: Backing up table that "doesn't exist in engine" cause crash in mariabackup when using encryption
Problem was that there is intentional crah when .ibd file does not found. In mariabackup case we should avoid this crash.
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/suite/mariabackup/missing_ibd.result6
-rw-r--r--mysql-test/suite/mariabackup/missing_ibd.test27
2 files changed, 33 insertions, 0 deletions
diff --git a/mysql-test/suite/mariabackup/missing_ibd.result b/mysql-test/suite/mariabackup/missing_ibd.result
new file mode 100644
index 00000000000..53989be7c14
--- /dev/null
+++ b/mysql-test/suite/mariabackup/missing_ibd.result
@@ -0,0 +1,6 @@
+create table t1(c1 int) engine=InnoDB;
+INSERT INTO t1 VALUES(1);
+# xtrabackup backup
+select * from t1;
+ERROR 42S02: Table 'test.t1' doesn't exist in engine
+drop table t1;
diff --git a/mysql-test/suite/mariabackup/missing_ibd.test b/mysql-test/suite/mariabackup/missing_ibd.test
new file mode 100644
index 00000000000..53ce397fd5e
--- /dev/null
+++ b/mysql-test/suite/mariabackup/missing_ibd.test
@@ -0,0 +1,27 @@
+--source include/have_innodb.inc
+
+#
+# MDEV-13499: Backing up table that "doesn't exist in engine" cause crash in mariabackup when using encryption
+#
+create table t1(c1 int) engine=InnoDB;
+INSERT INTO t1 VALUES(1);
+let MYSQLD_DATADIR=`select @@datadir`;
+
+--source include/shutdown_mysqld.inc
+
+--remove_file $MYSQLD_DATADIR/test/t1.ibd
+
+--source include/start_mysqld.inc
+
+echo # xtrabackup backup;
+let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
+--disable_result_log
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir;
+--enable_result_log
+
+rmdir $targetdir;
+
+--error ER_NO_SUCH_TABLE_IN_ENGINE
+select * from t1;
+drop table t1;
+