1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

BUG#14157: utf8 encoding in binlog without set character_set_client e.g DROP temporary

Binlog lacks encoding info about DROPped temporary table.

Idea of the fix is to switch temporary to system_charset_info when a temporary table
is DROPped for binlog. Since that is the server, that automatically, but not the client, who generates the query
the binlog should be updated on the server's encoding for the coming DROP.
The `write_binlog_with_system_charset()' is introduced to replace similar problematic places in the code.
This commit is contained in:
aelkin@mysql.com
2006-05-09 23:01:31 +03:00
parent 17a80c9da4
commit 226d978ae8
8 changed files with 44 additions and 5 deletions

View File

@ -249,7 +249,8 @@ master-bin.000001 1056 Query 1 1056 use `test`; insert t0 select * from t1
master-bin.000001 1117 Query 1 1117 use `test`; DO RELEASE_LOCK("a")
master-bin.000001 1172 Query 1 1172 use `test`; insert into t0 select GET_LOCK("lock1",null)
master-bin.000001 1251 Query 1 1251 use `test`; create table t2 (n int) engine=innodb
master-bin.000001 1323 Query 1 1323 use `test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `test`.`t1`,`test`.`ti`
master-bin.000001 1424 Query 1 1424 use `test`; DO RELEASE_LOCK("lock1")
master-bin.000001 1323 Query 1 1323 use `test`; SET ONE_SHOT CHARACTER_SET_CLIENT=33,COLLATION_CONNECTION=8,COLLATION_DATABASE=8,COLLATION_SERVER=8
master-bin.000001 1457 Query 1 1457 use `test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `test`.`t1`,`test`.`ti`
master-bin.000001 1558 Query 1 1558 use `test`; DO RELEASE_LOCK("lock1")
do release_lock("lock1");
drop table t0,t2;