1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
--source include/have_log_bin.inc
--source include/not_embedded.inc
--source include/have_binlog_format_statement.inc
--disable_warnings
drop table if exists t1;
drop view if exists t1;
--enable_warnings
--echo #
--echo # MDEV-6948: SET STATEMENT gtid_domain_id = ... FOR has no effect
--echo # (same for gtid_seq_no and server_id)
--echo #
reset master;
create table t1 (i int);
set gtid_domain_id = 10;
insert into t1 values (1),(2);
set statement gtid_domain_id = 20 for insert into t1 values (3),(4);
--replace_column 1 x 2 x 3 x 4 x 5 x
show binlog events limit 5,5;
drop table t1;
reset master;
SET @a=11;
create table t1 (a int not null auto_increment, c int, d int, primary key (a));
create table t2 (b int);
insert into t2 values (1),(2);
DELIMITER |;
CREATE function f1() returns int
BEGIN
SET STATEMENT last_insert_id=@a for insert into t1 values (NULL, @a,
last_insert_id());
SET @a:=@a*100+13;
return @a;
end|
DELIMITER ;|
call mtr.add_suppression("Unsafe statement written to the binary log using");
--disable_ps2_protocol
select f1() from t2;
--enable_ps2_protocol
--replace_column 1 x 2 x 3 x 4 x 5 x
show binlog events limit 16, 100;
select * from t1;
drop function f1;
drop table t1,t2;
reset master;
SET @a=11;
create table t1 (a int not null auto_increment, c int, d int, primary key (a));
create table t2 (b int);
insert into t2 values (1),(2);
DELIMITER |;
CREATE function f1() returns int
BEGIN
SET @save= @@last_insert_id;
SET session last_insert_id=@a;
insert into t1 values (NULL, @a, last_insert_id());
SET session last_insert_id=@save;
SET @a:=@a*100+13;
return @a;
end|
DELIMITER ;|
--disable_ps2_protocol
select f1() from t2;
--enable_ps2_protocol
--replace_column 1 x 2 x 3 x 4 x 5 x
show binlog events limit 13, 100;
select * from t1;
drop function f1;
drop table t1,t2;
reset master;
set statement last_insert_id = 112 for create table t1 as select last_insert_id();
--replace_column 1 x 2 x 3 x 4 x 5 x
show binlog events limit 4,1;
drop table t1;
|