1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Backporting bugs fixes fixed by MDEV-31340 from 11.5

The patch for MDEV-31340 fixed the following bugs:

MDEV-33084 LASTVAL(t1) and LASTVAL(T1) do not work well with lower-case-table-names=0
MDEV-33085 Tables T1 and t1 do not work well with ENGINE=CSV and lower-case-table-names=0
MDEV-33086 SHOW OPEN TABLES IN DB1 -- is case insensitive with lower-case-table-names=0
MDEV-33088 Cannot create triggers in the database `MYSQL`
MDEV-33103 LOCK TABLE t1 AS t2 -- alias is not case sensitive with lower-case-table-names=0
MDEV-33108 TABLE_STATISTICS and INDEX_STATISTICS are case insensitive with lower-case-table-names=0
MDEV-33109 DROP DATABASE MYSQL -- does not drop SP with lower-case-table-names=0
MDEV-33110 HANDLER commands are case insensitive with lower-case-table-names=0
MDEV-33119 User is case insensitive in INFORMATION_SCHEMA.VIEWS
MDEV-33120 System log table names are case insensitive with lower-cast-table-names=0

Backporting the fixes from 11.5 to 10.5
This commit is contained in:
Alexander Barkov
2024-05-21 08:53:40 +04:00
parent b2944adb76
commit 310fd6ff69
23 changed files with 561 additions and 90 deletions

View File

@ -154,7 +154,8 @@ TABLE *THD::find_temporary_table(const TABLE_LIST *tl,
Temporary_table_state state)
{
DBUG_ENTER("THD::find_temporary_table");
TABLE *table= find_temporary_table(tl->get_db_name(), tl->get_table_name(),
TABLE *table= find_temporary_table(tl->get_db_name().str,
tl->get_table_name().str,
state);
DBUG_RETURN(table);
}
@ -243,8 +244,8 @@ TMP_TABLE_SHARE *THD::find_tmp_table_share(const char *db,
TMP_TABLE_SHARE *THD::find_tmp_table_share(const TABLE_LIST *tl)
{
DBUG_ENTER("THD::find_tmp_table_share");
TMP_TABLE_SHARE *share= find_tmp_table_share(tl->get_db_name(),
tl->get_table_name());
TMP_TABLE_SHARE *share= find_tmp_table_share(tl->get_db_name().str,
tl->get_table_name().str);
DBUG_RETURN(share);
}
@ -385,7 +386,7 @@ bool THD::open_temporary_table(TABLE_LIST *tl)
*/
if (!table && (share= find_tmp_table_share(tl)))
{
table= open_temporary_table(share, tl->get_table_name());
table= open_temporary_table(share, tl->get_table_name().str);
/*
Temporary tables are not safe for parallel replication. They were
designed to be visible to one thread only, so have no table locking.
@ -1172,8 +1173,8 @@ bool THD::find_and_use_tmp_table(const TABLE_LIST *tl, TABLE **out_table)
bool result;
DBUG_ENTER("THD::find_and_use_tmp_table");
key_length= create_tmp_table_def_key(key, tl->get_db_name(),
tl->get_table_name());
key_length= create_tmp_table_def_key(key, tl->get_db_name().str,
tl->get_table_name().str);
result= use_temporary_table(find_temporary_table(key, key_length,
TMP_TABLE_NOT_IN_USE),
out_table);