mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
- During update operation, InnoDB should avoid the initializing the FTS_DOC_ID of foreign table if the foreign table is discarded
48 lines
1.1 KiB
Plaintext
48 lines
1.1 KiB
Plaintext
#
|
|
# BUG#21111301 INNODB FTS: ERROR DUPLICATE ENTRY IN FTS_DOC_ID_INDEX ON UPDATE CASCADE
|
|
#
|
|
|
|
-- source include/have_innodb.inc
|
|
|
|
CREATE TABLE t1 (
|
|
a varchar(40),
|
|
KEY a(a)
|
|
) ENGINE=InnoDB;
|
|
|
|
CREATE TABLE t1_fk (
|
|
a varchar(40),
|
|
KEY a(a),
|
|
FULLTEXT KEY (a),
|
|
CONSTRAINT fk FOREIGN KEY (a) REFERENCES t1 (a) ON UPDATE CASCADE
|
|
) ENGINE=InnoDB;
|
|
|
|
INSERT INTO t1 VALUES('mysql');
|
|
|
|
INSERT INTO t1_fk VALUES('mysql');
|
|
INSERT INTO t1_fk VALUES('mysql');
|
|
|
|
SELECT * FROM t1_fk;
|
|
SELECT * FROM t1_fk WHERE MATCH(a) AGAINST('mysql');
|
|
|
|
UPDATE t1 SET a = 'database' WHERE a = 'mysql';
|
|
|
|
SELECT * FROM t1_fk;
|
|
SELECT * FROM t1_fk WHERE MATCH(a) AGAINST('mysql');
|
|
SELECT * FROM t1_fk WHERE MATCH(a) AGAINST('database');
|
|
|
|
DROP TABLE t1_fk;
|
|
DROP TABLE t1;
|
|
|
|
--echo #
|
|
--echo # MDEV-32346 Assertion failure sym_node->table != NULL
|
|
--echo # in pars_retrieve_table_def on UPDATE
|
|
--echo #
|
|
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
|
|
CREATE TABLE t2 (a INT, b TEXT, FOREIGN KEY(a) REFERENCES t1(a),
|
|
FULLTEXT (b))ENGINE=InnoDB;
|
|
INSERT INTO t1 SET a=1;
|
|
ALTER TABLE t2 DISCARD TABLESPACE;
|
|
--error ER_ROW_IS_REFERENCED_2
|
|
UPDATE t1 SET a=2;
|
|
DROP TABLE t2,t1;
|