mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 05:22:25 +01:00
02d2d70cb1
this is better in this case: - imagine user1 has created a temp table - imagine user2 does FLUSH TABLES WITH READ LOCK, then takes a backup, then RESET MASTER then UNLOCK TABLES, like mysqldump --first-slave - then in the binlog you will finally have the DROP TEMPORARY TABLE, but not the CREATE TEMPORARY TABLE, so when you later restore with mysqlbinlog|mysql, mysql will complain that table does not exist. Replication was already protected of this (it processes DROP TEMPORARY TABLE as if there was a IF EXISTS), now I add it directly to the query for mysqlbinlog|mysql to work. mysql-test/r/drop_temp_table.result: result update (query changed)
18 lines
788 B
Text
18 lines
788 B
Text
reset master;
|
|
create database `drop-temp+table-test`;
|
|
use `drop-temp+table-test`;
|
|
create temporary table `table:name` (a int);
|
|
select get_lock("a",10);
|
|
get_lock("a",10)
|
|
1
|
|
select get_lock("a",10);
|
|
get_lock("a",10)
|
|
1
|
|
show binlog events;
|
|
Log_name Pos Event_type Server_id Orig_log_pos Info
|
|
master-bin.001 4 Start 1 4 Server ver: VERSION, Binlog ver: 3
|
|
master-bin.001 79 Query 1 79 use `test`; create database `drop-temp+table-test`
|
|
master-bin.001 152 Query 1 152 use `drop-temp+table-test`; create temporary table `table:name` (a int)
|
|
master-bin.001 246 Query 1 246 use `drop-temp+table-test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `drop-temp+table-test`.`table:name`
|
|
master-bin.001 375 Query 1 375 use `drop-temp+table-test`; DO RELEASE_LOCK("a")
|
|
drop database `drop-temp+table-test`;
|