Test case:
docker run --name p7 --rm -e MYSQL_ALLOW_EMPTY_PASSWORD=1 -it percona:5.7.18 --server-id=51 --log-bin=mysql-bin --gtid_mode=off --log-slave-updates
create database test;
use test
set global log_bin_trust_function_creators=1;
delimiter //
CREATE FUNCTION `test_func` () RETURNS varchar(30) CHARSET utf8
BEGIN
DROP TEMPORARY TABLE IF EXISTS test_func_1;
DROP TEMPORARY TABLE IF EXISTS test_func_2;
DROP TEMPORARY TABLE IF EXISTS test_func_3;
DROP TEMPORARY TABLE IF EXISTS test_func_4;
RETURN "hello";
END//
delimiter ;
SELECT test_func();
show binlog events in 'mysql-bin.000003';
drop temporary table statement is not logged (compare to PS <= 5.7.17 & upstream <= 5.7.19
Test case: EMPTY_PASSWORD= 1 -it percona:5.7.18 --server-id=51 --log-bin=mysql-bin --gtid_mode=off --log-slave-updates
docker run --name p7 --rm -e MYSQL_ALLOW_
create database test; trust_function_ creators= 1;
use test
set global log_bin_
delimiter //
CREATE FUNCTION `test_func` () RETURNS varchar(30) CHARSET utf8
BEGIN
DROP TEMPORARY TABLE IF EXISTS test_func_1;
DROP TEMPORARY TABLE IF EXISTS test_func_2;
DROP TEMPORARY TABLE IF EXISTS test_func_3;
DROP TEMPORARY TABLE IF EXISTS test_func_4;
RETURN "hello";
END//
delimiter ;
SELECT test_func();
show binlog events in 'mysql-bin.000003';
drop temporary table statement is not logged (compare to PS <= 5.7.17 & upstream <= 5.7.19