mariadb/mysql-test/suite/rpl
Nikita Malyavin e683311e45 MDEV-38151 GTT: missing FUNCTION support
open_temporary_table[s] defaulted to searching only local temporary
tables (Tmp_table_kind::TMP). When in function, a temporary table was
"carefully re-opened": it was closed and then opened again, with
open_temporary_table. This resulted in "table not found".

The correct key in most cases is Tmp_table_kind::ANY.
In some cases it should be Tmp_table_kind::TMP:
* When operation is not supported for GTT (ANALYZE/REPAIR)
* When a global handle should be opened (CREATE VIEW)
* If it's a re-open

Apart from this bug, it caused a global temporary table to be always
opened through open_tables, meaning that tdc was queried first. This
means that the earlier code never relied on pre-opening
temporary tables.

This means that all the commands that follow the default
open_temporary_tables path in mysql_execute_command (the standard
temporary tables pre-opening) should be able to handle child GTT share.

This wasn't so for TRUNCATE, hence the changes in sql_truncate.cc.

Also, this broke the lookup order: first a local temporary table should
be looked up. If it doesn't exist, only then a global temporary table
should be looked up.
To fix the latter -- push back global temporary tables' local shares and
push front local temporary tables.

To support push_front, All_tmp_tables_list declaration is changed. It
should use I_P_List_fast_push_back adapter, which adds T **m_last to the
list body.
2025-12-04 21:59:29 +01:00
..
extension
include Fix typos in mysql-test/ 2025-04-29 13:53:16 +10:00
r MDEV-38151 GTT: missing FUNCTION support 2025-12-04 21:59:29 +01:00
t MDEV-37718 Assertion '!thd->rgi_slave' failed on GTT DML 2025-11-26 19:57:46 +01:00
disabled.def Fix RPL tests post DEBUG_SYNC change 2023-02-10 14:44:45 +02:00
my.cnf MDEV-31404 Implement binlog_space_limit 2024-02-14 15:02:21 +01:00
README
rpl_1slave_base.cnf Improve mtr replication setup 2025-04-28 12:59:39 +03:00

How to run.
===========

./mysql-test-run.pl --suite=rpl --mysqld=--binlog-format=mixed