mirror of
https://github.com/MariaDB/server.git
synced 2025-08-05 13:16:09 +03:00
innodb_ft_aux_table_validate(): If the table is found in InnoDB but not valid for the parameter, only invoke dict_sys.unlock() once. This fixes a regression due to MDEV-36122.
54 lines
2.0 KiB
Plaintext
54 lines
2.0 KiB
Plaintext
--source include/have_innodb.inc
|
|
--source include/maybe_versioning.inc
|
|
|
|
CREATE TABLE t1 (v VARCHAR(100), FULLTEXT INDEX (v)) ENGINE=InnoDB;
|
|
|
|
insert into t1 VALUES('First record'),('Second record'),('Third record');
|
|
|
|
SET @save_ft_aux_table = @@GLOBAL.innodb_ft_aux_table;
|
|
|
|
connect (con1,localhost,root,,);
|
|
--error ER_WRONG_VALUE_FOR_VAR
|
|
SET GLOBAL innodb_ft_aux_table = 'test/t0';
|
|
connection default;
|
|
SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_DEFAULT_STOPWORD;
|
|
SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_DELETED;
|
|
SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_BEING_DELETED;
|
|
SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_CACHE;
|
|
SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE;
|
|
SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_CONFIG;
|
|
connection con1;
|
|
SET GLOBAL innodb_ft_aux_table = 'test/t1';
|
|
disconnect con1;
|
|
connection default;
|
|
SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_DELETED;
|
|
SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_BEING_DELETED;
|
|
SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_CACHE;
|
|
SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE;
|
|
SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_CONFIG;
|
|
SELECT @@GLOBAL.innodb_ft_aux_table;
|
|
RENAME TABLE t1 TO t2;
|
|
SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_DELETED;
|
|
SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_BEING_DELETED;
|
|
SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_CACHE;
|
|
SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE;
|
|
SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_CONFIG;
|
|
SELECT @@GLOBAL.innodb_ft_aux_table;
|
|
DROP TABLE t2;
|
|
SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_DELETED;
|
|
SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_BEING_DELETED;
|
|
SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_CACHE;
|
|
SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE;
|
|
SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_CONFIG;
|
|
SELECT @@GLOBAL.innodb_ft_aux_table;
|
|
|
|
CREATE TABLE t(a INT) ENGINE=InnoDB;
|
|
--error ER_WRONG_VALUE_FOR_VAR
|
|
SET GLOBAL innodb_ft_aux_table='test/t';
|
|
DROP TABLE t;
|
|
--error ER_WRONG_VALUE_FOR_VAR
|
|
SET GLOBAL innodb_ft_aux_table='test/t';
|
|
SELECT @@GLOBAL.innodb_ft_aux_table;
|
|
|
|
SET GLOBAL innodb_ft_aux_table = @save_ft_aux_table;
|