1
0
mirror of https://github.com/MariaDB/server.git synced 2026-10-23 18:49:29 +03:00

allocate Sql_path in one memory chunk, not one per schema

because it's always allocated and freed as a whole, there is
no operation "replace one name in the middle of the path"

this needed a reworked parser to create the whole list
of names, not append one name at a time.

Fixed a bug where Sql_path::from_text() pretended it can take
a string in any charset, but was always implicitly
assuming it's in my_charset_utf8mb3_general_ci.
This commit is contained in:
Sergei Golubchik
2025-11-27 00:29:35 +01:00
parent 7325f948e8
commit 69f401bdb6
7 changed files with 177 additions and 273 deletions

View File

@@ -1946,8 +1946,9 @@ bool Table_triggers_list::check_n_load(THD *thd, const LEX_CSTRING *db,
continue;
}
if (sp->m_sql_path.from_text(thd, sql_path))
goto err_with_lex_cleanup;
sp->m_sql_mode= sql_mode;
sp->m_sql_path.from_text(thd, system_charset_info, sql_path);
sp->set_creation_ctx(creation_ctx);
if (!trg_definer || !trg_definer->length)