mirror of
https://github.com/MariaDB/server.git
synced 2025-05-10 02:01:19 +03:00

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.
40 lines
1.0 KiB
Plaintext
40 lines
1.0 KiB
Plaintext
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;
|