mariadb/mysql-test/suite/innodb_fts/t
Thirunarayanan Balathandayuthapani accb4af95b MDEV-31892 Server crash upon moving InnoDB table with
fulltext index between databases

Problem:
========
- When renaming/moving an InnoDB table with fulltext indexes
between databases, the server would crash because
InnoDB attempted to open auxiliary tables using
the old database name instead of the new one.

When creating auxiliary index, InnoDB does create temporary
sort fulltext index using old table reference which creates
the auxiliary table name with the prefix of old database name.

FTS Document ID size optimization in row_merge_create_fts_sort_index()
using dict_table_get_n_rows() to decide between 4-byte
and 8-byte Doc IDs for memory optimization. But
dict_table_get_n_rows() returns estimated statistics that
may be stale or inaccurate, potentially leading to wrong
size decisions and data corruption if 4-byte
Doc IDs are chosen when 8-byte are actually needed.

Solution:
=========
fts_rename_aux_tables(): Iterate through all table indexes
and ensure all fulltext indexes are properly renamed

row_merge_create_fts_sort_index() : Use new_table instead
of old_table when creating temporary FTS sort indexes.

row_merge_build_indexes(): Refactored the logic to do
memory optimization to determine the doc id size for
temporary fts sort index.

 - When adding FTS index for the first time
  (DICT_TF2_FTS_ADD_DOC_ID), always use 8-byte Doc IDs

 - For existing FTS tables or user-supplied Doc ID columns,
   use fts_get_max_doc_id() approach to check actual maximum Doc ID
2026-01-09 21:15:14 +05:30
..
basic.inc MDEV-25004 Missing row in FTS_DOC_ID_INDEX during DELETE HISTORY 2022-12-27 00:02:02 +03:00
basic.test MDEV-25004 Missing row in FTS_DOC_ID_INDEX during DELETE HISTORY 2022-12-27 00:02:02 +03:00
bug_32831765.test MDEV-27913 innodb_ft_cache_size max possible value (80000000) is too small for practical purposes 2022-02-24 22:41:23 +05:30
concurrent_insert.test MDEV-30996 insert.. select in presence of full text index freezes all other commits at commit time 2023-04-24 11:06:56 +05:30
crash_recovery.opt MDEV-18518 follow-up fixes 2021-05-06 16:04:29 +03:00
crash_recovery.test MDEV-32050 fixup: Stabilize tests 2023-11-21 12:42:00 +02:00
create.opt
create.test MDEV-25004 Missing row in FTS_DOC_ID_INDEX during DELETE HISTORY 2022-12-27 00:02:02 +03:00
foreign_key_check.test MDEV-13626 Merge InnoDB test cases from MySQL 5.7 2023-11-08 12:17:14 +02:00
foreign_key_update.test MDEV-32346 Assertion failure sym_node->table != NULL in pars_retrieve_table_def on UPDATE 2024-03-06 14:04:49 +05:30
ft_result_cache_limit.test MDEV-27282 InnoDB: Failing assertion: !query->intersection 2022-08-03 20:35:12 +05:30
fts_kill_query.test
fts_sync_commit_resiliency.opt MDEV-34057 Inconsistent FTS state in concurrent scenarios 2024-06-06 19:09:13 +05:30
fts_sync_commit_resiliency.test MDEV-34057 Inconsistent FTS state in concurrent scenarios 2024-06-06 19:09:13 +05:30
fulltext.test Correct cursor protocol tests main.{loaddata,grant_plugin} & innodb_fts.fulltext 2024-11-21 21:43:44 +11:00
fulltext2.test Merge 10.3 into 10.4 2023-01-03 16:10:02 +02:00
fulltext3.test MDEV-25004 Missing row in FTS_DOC_ID_INDEX during DELETE HISTORY 2022-12-27 00:02:02 +03:00
fulltext_cache.test MDEV-25004 Missing row in FTS_DOC_ID_INDEX during DELETE HISTORY 2022-12-27 00:02:02 +03:00
fulltext_distinct.test MDEV-25004 Missing row in FTS_DOC_ID_INDEX during DELETE HISTORY 2022-12-27 00:02:02 +03:00
fulltext_left_join.test MDEV-25004 Missing row in FTS_DOC_ID_INDEX during DELETE HISTORY 2022-12-27 00:02:02 +03:00
fulltext_misc.test MDEV-29871 innodb_fts.fulltext_misc unexpectedly reports a result 2023-02-21 18:48:59 +05:30
fulltext_multi.test MDEV-25004 Missing row in FTS_DOC_ID_INDEX during DELETE HISTORY 2022-12-27 00:02:02 +03:00
fulltext_order_by.test MDEV-25004 Missing row in FTS_DOC_ID_INDEX during DELETE HISTORY 2022-12-27 00:02:02 +03:00
fulltext_update.test MDEV-25004 Missing row in FTS_DOC_ID_INDEX during DELETE HISTORY 2022-12-27 00:02:02 +03:00
fulltext_var.test MDEV-25004 Missing row in FTS_DOC_ID_INDEX during DELETE HISTORY 2022-12-27 00:02:02 +03:00
index_table.opt MDEV-13626 Merge InnoDB test cases from MySQL 5.7 2023-11-08 12:17:14 +02:00
index_table.test MDEV-36061 Incorrect error handling on DDL with FULLTEXT INDEX 2025-02-13 16:28:06 +01:00
innodb-fts-ddl.opt MDEV-27582 Fulltext DDL decrements the FTS_DOC_ID value 2022-03-03 19:03:31 +05:30
innodb-fts-ddl.test MDEV-31892 Server crash upon moving InnoDB table with 2026-01-09 21:15:14 +05:30
innodb-fts-fic.test MDEV-30528 CREATE FULLTEXT INDEX assertion failure WITH SYSTEM VERSIONING 2024-02-12 16:52:55 +01:00
innodb_ft_aux_table.opt MDEV-19445 heap-use-after-free related to innodb_ft_aux_table 2019-05-13 17:16:42 +03:00
innodb_ft_aux_table.test MDEV-36420 Assertion failure in SET GLOBAL innodb_ft_aux_table 2025-03-28 09:05:20 +02:00
innodb_fts_large_records.test MDEV-25004 Missing row in FTS_DOC_ID_INDEX during DELETE HISTORY 2022-12-27 00:02:02 +03:00
innodb_fts_misc.test Merge branch '10.5' into 10.6 2024-10-09 08:38:48 +02:00
innodb_fts_misc_1.opt MDEV-25536 InnoDB: Failing assertion: sym_node->table != NULL in pars_retrieve_table_def 2021-04-30 20:05:12 +05:30
innodb_fts_misc_1.test MDEV-30363 InnoDB: Failing assertion: trx->error_state == DB_SUCCESS in que_run_threads 2025-06-16 11:48:06 +02:00
innodb_fts_multiple_index.test MDEV-25004 Missing row in FTS_DOC_ID_INDEX during DELETE HISTORY 2022-12-27 00:02:02 +03:00
innodb_fts_plugin.test Merge 10.5 into 10.6 2022-10-06 09:22:39 +03:00
innodb_fts_proximity.test MDEV-13626 Merge InnoDB test cases from MySQL 5.7 2023-11-08 12:17:14 +02:00
innodb_fts_result_cache_limit.test MDEV-25004 Missing row in FTS_DOC_ID_INDEX during DELETE HISTORY 2022-12-27 00:02:02 +03:00
innodb_fts_stopword_charset.test MDEV-25004 Missing row in FTS_DOC_ID_INDEX during DELETE HISTORY 2022-12-27 00:02:02 +03:00
innodb_fts_transaction.test MDEV-25004 Missing row in FTS_DOC_ID_INDEX during DELETE HISTORY 2022-12-27 00:02:02 +03:00
limit_union.test MDEV-13626 Merge InnoDB test cases from MySQL 5.7 2023-11-08 12:17:14 +02:00
misc.test MDEV-35082 HANDLER with FULLTEXT keys is not always rejected 2024-10-08 18:20:13 +02:00
misc_1.test MDEV-13626 Merge InnoDB test cases from MySQL 5.7 2023-11-08 12:17:14 +02:00
misc_debug.test Merge 10.5 into 10.6 2024-02-13 20:42:59 +02:00
misc_debug2.test MDEV-37423 Enforce innodb_ft_min_token_size > 0 to prevent unnecessary token indexing 2025-10-21 11:19:29 +05:30
multiple_index.test MDEV-14231 MATCH() AGAINST( IN BOOLEAN MODE), results mismatch 2024-08-13 15:22:09 +05:30
opt.opt MDEV-13626 Merge InnoDB test cases from MySQL 5.7 2023-11-08 12:17:14 +02:00
opt.test MDEV-31005: Make working cursor-protocol 2024-09-18 18:39:26 +07:00
phrase.opt MDEV-13626 Merge InnoDB test cases from MySQL 5.7 2023-11-08 12:17:14 +02:00
phrase.test MDEV-13626 Merge InnoDB test cases from MySQL 5.7 2023-11-08 12:17:14 +02:00
plugin_debug.test MDEV-14231 MATCH() AGAINST( IN BOOLEAN MODE), results mismatch 2024-08-13 15:22:09 +05:30
result_cache_limit.test MDEV-13626 Merge InnoDB test cases from MySQL 5.7 2023-11-08 12:17:14 +02:00
savepoint.test MDEV-24035 Failing assertion: UT_LIST_GET_LEN(lock.trx_locks) == 0 causing disruption and replication failure 2024-12-12 18:02:00 +02:00
stopword.inc MDEV-25004 Missing row in FTS_DOC_ID_INDEX during DELETE HISTORY 2022-12-27 00:02:02 +03:00
stopword.opt MDEV-22393 Corruption for SET GLOBAL innodb_ string variables 2020-04-28 16:09:07 +03:00
stopword.test MDEV-25004 Missing row in FTS_DOC_ID_INDEX during DELETE HISTORY 2022-12-27 00:02:02 +03:00
subexpr.test MDEV-13626 Merge InnoDB test cases from MySQL 5.7 2023-11-08 12:17:14 +02:00
sync.opt
sync.test MDEV-16944 Fix file sharing issues on Windows in mysqltest 2024-04-17 16:52:37 +02:00
sync_block.test MDEV-30996 insert.. select in presence of full text index freezes all other commits at commit time 2023-04-24 11:06:56 +05:30
sync_ddl.test MDEV-30528 CREATE FULLTEXT INDEX assertion failure WITH SYSTEM VERSIONING 2024-02-12 16:52:55 +01:00
versioning.combinations MDEV-25004 Missing row in FTS_DOC_ID_INDEX during DELETE HISTORY 2022-12-27 00:02:02 +03:00
versioning.opt MDEV-25004 Missing row in FTS_DOC_ID_INDEX during DELETE HISTORY 2022-12-27 00:02:02 +03:00
versioning.test MDEV-35163 InnoDB persistent statistics fail to update after ALTER TABLE...ALGORITHM=COPY 2025-09-22 17:39:47 +05:30