summaryrefslogtreecommitdiff
path: root/mysql-test/suite/innodb/t/rename_table.test
blob: 0191a94def28713c3ce931bd5e442f33dcda0865 (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
--source include/have_innodb.inc
--source include/not_embedded.inc

CREATE DATABASE test_jfg;
CREATE DATABASE test_jfg2;
CREATE TABLE test_jfg.test (a int unsigned PRIMARY KEY) ENGINE=InnoDB;
RENAME TABLE test_jfg.test TO test_jfg2.test;

SELECT REPLACE(path,'\\','/') path
FROM INFORMATION_SCHEMA.INNODB_SYS_DATAFILES WHERE PATH LIKE '%test%';

DROP DATABASE test_jfg;

--source include/restart_mysqld.inc

DROP DATABASE test_jfg2;

CREATE DATABASE abc_def;
CREATE DATABASE abc_def2;

CREATE TABLE abc_def.test (a int unsigned PRIMARY KEY) ENGINE=InnoDB;
RENAME TABLE abc_def.test TO abc_def2.test1;

SELECT REPLACE(path,'\\','/') path
FROM INFORMATION_SCHEMA.INNODB_SYS_DATAFILES WHERE PATH LIKE '%test%';

DROP DATABASE abc_def;

--source include/restart_mysqld.inc

DROP DATABASE abc_def2;

call mtr.add_suppression("InnoDB: (Operating system error|The error means|Cannot rename file)");

CREATE TABLE t1 (a INT) ENGINE=InnoDB;
--replace_result "\\" "/"
--error ER_ERROR_ON_RENAME
RENAME TABLE t1 TO non_existing_db.t1;

--let SEARCH_PATTERN= \[ERROR\] InnoDB: Cannot rename file '.*t1\.ibd' to '.*non_existing_db
let SEARCH_FILE= $MYSQLTEST_VARDIR/log/mysqld.1.err;
--source include/search_pattern_in_file.inc

# Cleanup
DROP TABLE t1;