mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 21:12:26 +01:00
573828aa6a
slave The stored-routine code took the contents of the (lowest) parser and copied it directly to the binlog, which causes problems if there is a special case of interpretation at the parser level -- which there is, in the "/*!VER */" comments. The trailing "*/" caused errors on the slave, naturally. Now, since by that point we have /properly/ created parse-tree (as the rest of the server should do!) for the stored-routine CREATE, we can construct a perfect statement from that information, instead of writing uncertain information from an unknown parser state. Fortunately, there's already a function nearby that does exactly that. --- Update for Bug#36570. Qualify routine names with db name when writing to the binlog ONLY if the source text is qualified.
39 lines
1 KiB
Text
39 lines
1 KiB
Text
show status like "binlog_cache_use";
|
|
Variable_name Value
|
|
Binlog_cache_use 0
|
|
show status like "binlog_cache_disk_use";
|
|
Variable_name Value
|
|
Binlog_cache_disk_use 0
|
|
create table t1 (a int) engine=innodb;
|
|
show status like "binlog_cache_use";
|
|
Variable_name Value
|
|
Binlog_cache_use 1
|
|
show status like "binlog_cache_disk_use";
|
|
Variable_name Value
|
|
Binlog_cache_disk_use 1
|
|
begin;
|
|
delete from t1;
|
|
commit;
|
|
show status like "binlog_cache_use";
|
|
Variable_name Value
|
|
Binlog_cache_use 2
|
|
show status like "binlog_cache_disk_use";
|
|
Variable_name Value
|
|
Binlog_cache_disk_use 1
|
|
drop table t1;
|
|
CREATE TABLE t1 (a INT NOT NULL AUTO_INCREMENT PRIMARY KEY) ENGINE=MyISAM;
|
|
CREATE TABLE t2 (a INT NOT NULL AUTO_INCREMENT PRIMARY KEY) ENGINE=InnoDB;
|
|
CREATE FUNCTION bug23333()
|
|
RETURNS int(11)
|
|
DETERMINISTIC
|
|
BEGIN
|
|
INSERT INTO t1 VALUES (NULL);
|
|
SELECT COUNT(*) FROM t1 INTO @a;
|
|
RETURN @a;
|
|
END|
|
|
INSERT INTO t2 VALUES (2),(10+bug23333());
|
|
SHOW MASTER STATUS;
|
|
File Position Binlog_Do_DB Binlog_Ignore_DB
|
|
# 184141
|
|
DROP FUNCTION bug23333;
|
|
DROP TABLE t1, t2;
|