1
0
mirror of https://github.com/MariaDB/server.git synced 2026-10-23 18:49:29 +03:00
Files
Vladislav Vaintroub 4cb930bbf8 MDEV-37739 Fix remaining test cases in parts suite on case-insensitive FS
1. Relax InnoDB rename assertion for partitions

row_rename_table_for_mysql() asserted that RENAME_IGNORE_FK is never
used to rename a table to a temporary name:

    ut_ad(fk != RENAME_IGNORE_FK || !new_is_tmp);

But EXCHANGE PARTITION renames a partition to a temporary #sql-exchange
name, and during DDL-log recovery with lower_case_table_names=1 this
reaches the partition retry in innobase_rename_table(), which passes
RENAME_IGNORE_FK.  So relax the assertion for partition names.
This fixes an assertion failure in parts.partition_debug_innodb during
crash recovery; debug-only change.

2. Fix diff in parts.alter_table

Guard the lower_case_table_names combinations in include/lcase_names.inc
with the matching include/have_lowercaseN.inc,
so each is skipped unless the server actually ended up in that mode.
mtr can be run (and on one CI machine is run) with a forced
--mysqld=--lower_case_table_names, and the server does not always
honour the request (=2 is reset to 0 on a case-sensitive filesystem).
The "def" combination assumed lower_case_table_names=0; make that
explicit and rename it to lcase0 for symmetry with lcase1/lcase2.  It
stays an empty combination, since an explicit =0 would make the server
refuse to start on a case-insensitive filesystem.

3. Make sure the parts suite is actually tested on CI on case-insensitive
filesystem

add it to buildbot_suites.bat. In addition, test on case-sensitive NTFS
directory (Github Actions builder)
2026-07-03 14:03:44 +02:00
..