fsp0fsp.cc: log unexpected table in sys tablespace

Fix log message about unexpected table in system tablespace as the current
message can be missleading due to still existing (but already deprecated)
system tables SYS_DATAFILES and SYS_TABLESPACES, reported in
 - MDEV-38412

Also adding the informative message with table name of the unexpected table
in system table space.
This commit is contained in:
Jan Smutný 2025-12-18 16:13:17 +01:00 committed by Georgi Kodinov
commit 3009210e63
3 changed files with 14 additions and 3 deletions

View file

@ -5723,6 +5723,14 @@ corrupt:
goto corrupt;
if (!dict_sys.is_sys_table(mach_read_from_8(field)))
{
const byte *name_field = rec_get_nth_field_old(
rec, DICT_FLD__SYS_TABLES__NAME, &len);
if (len != UNIV_SQL_NULL && len > 0)
{
sql_print_information(
"InnoDB: Found unexpected table in system tablespace: %.*s",
(int)len, (const char *)name_field);
}
err= DB_SUCCESS_LOCKED_REC;
btr_pcur_close(&pcur);
goto func_exit;
@ -5740,7 +5748,7 @@ dberr_t fil_space_t::defragment() noexcept
if (err == DB_SUCCESS_LOCKED_REC)
{
sql_print_information(
"InnoDB: User table exists in the system tablespace."
"InnoDB: Unexpected table exists in the system tablespace."
"Please try to move the data from system tablespace "
"to separate tablespace before defragment the "
"system tablespace.");