summaryrefslogtreecommitdiffstats
path: root/mysql-test/suite/innodb/t/import_hidden_fts_debug.test
blob: e3d8680d4b73353f0a50a2262f7536b4b7d77d38 (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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
--source include/have_innodb.inc
--source include/have_debug.inc
CREATE TABLE t1(f1 INT NOT NULL PRIMARY KEY,
		f2 CHAR(2) NOT NULL, FULLTEXT f_idx(f2),
		f3 INT as (f1) VIRTUAL, INDEX(f3))ENGINE=InnoDB;
INSERT INTO t1(f1, f2) VALUES(1, "on");
ALTER TABLE t1 DROP INDEX f_idx;
FLUSH TABLE t1 FOR EXPORT;
let MYSQLD_DATADIR =`SELECT @@datadir`;
perl;
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
ib_backup_tablespaces("test", "t1");
EOF
UNLOCK TABLES;
DROP TABLE t1;

CREATE TABLE t1(f1 INT NOT NULL PRIMARY KEY,
		f2 CHAR(2) NOT NULL,
		f3 CHAR(2) NOT NULL,
		f4 INT AS (f1) VIRTUAL, INDEX(f4))ENGINE=InnoDB;
ALTER TABLE t1 DISCARD TABLESPACE;
perl;
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
ib_discard_tablespaces("test", "t1");
ib_restore_tablespaces("test", "t1");
EOF
--error ER_TABLE_SCHEMA_MISMATCH
ALTER TABLE t1 IMPORT TABLESPACE;
DROP TABLE t1;

CREATE TABLE t1(f1 INT NOT NULL PRIMARY KEY,
		f2 CHAR(2) NOT NULL,
		f3 INT as (f1) VIRTUAL, INDEX(f3))ENGINE=InnoDB;
ALTER TABLE t1 DISCARD TABLESPACE;
perl;
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
ib_discard_tablespaces("test", "t1");
ib_restore_tablespaces("test", "t1");
EOF

--disable_warnings
SET DEBUG_DBUG="+d,ib_import_set_index_root_failure";
--error ER_TOO_MANY_CONCURRENT_TRXS
ALTER TABLE t1 IMPORT TABLESPACE;
SET DEBUG_DBUG="-d,ib_import_set_index_root_failure";

SET DEBUG_DBUG="+d,ib_import_vcol_update_fail";
--error ER_DUP_KEY
ALTER TABLE t1 IMPORT TABLESPACE;
SET DEBUG_DBUG="-d,ib_import_vcol_update_fail";

perl;
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
ib_discard_tablespaces("test", "t1");
ib_restore_tablespaces("test", "t1");
EOF

SET DEBUG_DBUG="+d,ib_import_fts_error";
--error ER_DUP_KEY
ALTER TABLE t1 IMPORT TABLESPACE;
SET DEBUG_DBUG="-d,ib_import_fts_error";
--enable_warnings

perl;
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
ib_unlink_tablespace("test", "t1");
EOF

SELECT NAME FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS
WHERE table_id IN (SELECT table_id FROM information_schema.innodb_sys_tables where name="test/t1");

SHOW CREATE TABLE t1;
DROP TABLE t1;

# Manually add the FTS_DOC_ID Column with mismatched data type
CREATE TABLE t1(f1 INT NOT NULL PRIMARY KEY,
		FTS_DOC_ID BIGINT SIGNED NOT NULL,
		f2 CHAR(2) NOT NULL,
		FULLTEXT f_idx(f2))ENGINE=InnoDB;
INSERT INTO t1 VALUES(1, 1, "on");
ALTER TABLE t1 DROP INDEX f_idx;
FLUSH TABLE t1 FOR EXPORT;
let MYSQLD_DATADIR =`SELECT @@datadir`;
perl;
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
ib_backup_tablespaces("test", "t1");
EOF
UNLOCK TABLES;
DROP TABLE t1;

CREATE TABLE t1(f1 INT NOT NULL PRIMARY KEY,
		f2 CHAR(2) NOT NULL)ENGINE=InnoDB;
ALTER TABLE t1 DISCARD TABLESPACE;
perl;
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
ib_discard_tablespaces("test", "t1");
ib_restore_tablespaces("test", "t1");
EOF
--error ER_TABLE_SCHEMA_MISMATCH
ALTER TABLE t1 IMPORT TABLESPACE;
DROP TABLE t1;