From cc840f84554a67e7a3e82a18a3e091e46f18447b Mon Sep 17 00:00:00 2001 From: dcthxdhuang Date: Thu, 14 Dec 2023 14:38:34 +0800 Subject: [PATCH] bugfix for this problem: Problem: ======== While replaying the rename DDL log, the tablespace name uses the file system charset instead of the InnoDB system charset. This discrepancy leads to a failure in opening the table due to an inability to locate the space. Solution: ========= We've implemented the use of dict_name::convert_to_space to convert the charset of the space name, aligning it with the InnoDB system charset. This change should resolve the issue of locating the space and successfully opening the table. --- storage/innobase/fil/fil0fil.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/storage/innobase/fil/fil0fil.cc b/storage/innobase/fil/fil0fil.cc index e14d770..165a964 100644 --- a/storage/innobase/fil/fil0fil.cc +++ b/storage/innobase/fil/fil0fil.cc @@ -10907,6 +10907,7 @@ static bool fil_op_replay_rename(const page_id_t &page_id, ut_ad(!Fil_path::has_suffix(IBD, name)); + dict_name::convert_to_space(name); const auto ptr = name.c_str(); dberr_t err = -- 2.7.6