mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 04:22:27 +01:00
903ae30069
Problem: ======== Currently import operation fails with schema mismatch when cfg file has hidden fts document id and hidden fts document index. Fix: ==== To fix this issue, simply add the fts doc id column, indexes in table definition and try to import the table. In case of success: 1) update the fts document id in sys columns. 2) update the number of columns in sys tables. 3) insert the new fts index entry in sys indexes table and sys fields. 4) Reload the table with new table definition
45 lines
2 KiB
Text
45 lines
2 KiB
Text
call mtr.add_suppression("InnoDB: Added system generated FTS_DOC_ID and FTS_DOC_ID_INDEX while importing the tablespace");
|
|
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),
|
|
f4 INT as (f1) STORED, INDEX(f4),
|
|
f5 INT as (f1) VIRTUAL)ENGINE=InnoDB;
|
|
INSERT INTO t1(f1, f2) VALUES(1, "on");
|
|
INSERT INTO t1(f1, f2) SELECT seq, "si" FROM seq_2_to_256;
|
|
ALTER TABLE t1 ADD COLUMN f6 INT NOT NULL;
|
|
ALTER TABLE t1 DROP COLUMN f6;
|
|
ALTER TABLE t1 DROP INDEX f_idx;
|
|
connect con1,localhost,root,,;
|
|
START TRANSACTION WITH CONSISTENT SNAPSHOT;
|
|
connection default;
|
|
DELETE FROM t1 WHERE f1 > 1;
|
|
FLUSH TABLE t1 FOR EXPORT;
|
|
Warnings:
|
|
Warning 1235 This version of MariaDB doesn't yet support 'FLUSH TABLES on a table that had an FTS index, created on a hidden column, the auxiliary tables haven't been dropped as yet. FTS auxiliary tables will not be flushed.'
|
|
Warning 1235 This version of MariaDB doesn't yet support 'FLUSH TABLES on a table that had an FTS index, created on a hidden column, the auxiliary tables haven't been dropped as yet. FTS auxiliary tables will not be flushed.'
|
|
backup: t1
|
|
UNLOCK TABLES;
|
|
Warnings:
|
|
Warning 1235 This version of MariaDB doesn't yet support 'FLUSH TABLES on a table that had an FTS index, created on a hidden column, the auxiliary tables haven't been dropped as yet. FTS auxiliary tables will not be flushed.'
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1(f1 INT NOT NULL PRIMARY KEY,
|
|
f2 CHAR(2) not null,
|
|
f3 INT as (f1) VIRTUAL, INDEX(f3),
|
|
f4 INT as (f1) STORED, INDEX(f4),
|
|
f5 INT as (f1) VIRTUAL)ENGINE=InnoDB;
|
|
ALTER TABLE t1 DISCARD TABLESPACE;
|
|
restore: t1 .ibd and .cfg files
|
|
ALTER TABLE t1 IMPORT TABLESPACE;
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`f1` int(11) NOT NULL,
|
|
`f2` char(2) NOT NULL,
|
|
`f3` int(11) GENERATED ALWAYS AS (`f1`) VIRTUAL,
|
|
`f4` int(11) GENERATED ALWAYS AS (`f1`) STORED,
|
|
`f5` int(11) GENERATED ALWAYS AS (`f1`) VIRTUAL,
|
|
PRIMARY KEY (`f1`),
|
|
KEY `f3` (`f3`),
|
|
KEY `f4` (`f4`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
|
DROP TABLE t1;
|