mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-24403 Segfault on CREATE TABLE with explicit FTS_DOC_ID_INDEX by multiple fields
Ignore table->fts freed previously by create_table_info_t::create_table().
This commit is contained in:
@ -182,3 +182,13 @@ Table Op Msg_type Msg_text
|
|||||||
test.t1 optimize status OK
|
test.t1 optimize status OK
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
SET GLOBAL innodb_optimize_fulltext_only= @optimize_fulltext.save;
|
SET GLOBAL innodb_optimize_fulltext_only= @optimize_fulltext.save;
|
||||||
|
#
|
||||||
|
# MDEV-24403 Segfault on CREATE TABLE with explicit FTS_DOC_ID_INDEX by multiple fields
|
||||||
|
#
|
||||||
|
create table t1 (
|
||||||
|
f1 int, f2 text,
|
||||||
|
FTS_DOC_ID bigint unsigned not null,
|
||||||
|
unique key FTS_DOC_ID_INDEX(FTS_DOC_ID, f1),
|
||||||
|
fulltext (f2))
|
||||||
|
engine=innodb;
|
||||||
|
ERROR 42000: Incorrect index name 'FTS_DOC_ID_INDEX'
|
||||||
|
@ -106,3 +106,14 @@ SET GLOBAL innodb_optimize_fulltext_only= 1;
|
|||||||
OPTIMIZE TABLE t1;
|
OPTIMIZE TABLE t1;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
SET GLOBAL innodb_optimize_fulltext_only= @optimize_fulltext.save;
|
SET GLOBAL innodb_optimize_fulltext_only= @optimize_fulltext.save;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-24403 Segfault on CREATE TABLE with explicit FTS_DOC_ID_INDEX by multiple fields
|
||||||
|
--echo #
|
||||||
|
--error ER_WRONG_NAME_FOR_INDEX
|
||||||
|
create table t1 (
|
||||||
|
f1 int, f2 text,
|
||||||
|
FTS_DOC_ID bigint unsigned not null,
|
||||||
|
unique key FTS_DOC_ID_INDEX(FTS_DOC_ID, f1),
|
||||||
|
fulltext (f2))
|
||||||
|
engine=innodb;
|
||||||
|
@ -1709,7 +1709,7 @@ fts_drop_tables(
|
|||||||
|
|
||||||
error = fts_drop_common_tables(trx, &fts_table);
|
error = fts_drop_common_tables(trx, &fts_table);
|
||||||
|
|
||||||
if (error == DB_SUCCESS) {
|
if (error == DB_SUCCESS && table->fts) {
|
||||||
error = fts_drop_all_index_tables(trx, table->fts);
|
error = fts_drop_all_index_tables(trx, table->fts);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user