blob: c161f68d0bd057e34883cd8ded6e2ccb57c8ea6a (
plain)
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
include/master-slave.inc
[connection master]
# MDEV-16252: MINIMAL binlog_row_image does not work for versioned tables
set @old_row_image= @@binlog_row_image;
set binlog_row_image= minimal;
create or replace table t1 (pk int, i int, primary key(pk))
with system versioning;
insert into t1 values (1,10),(2,20);
update t1 set i = 0;
connection slave;
connection master;
drop table t1;
set binlog_row_image= @old_row_image;
#
# MDEV-28254 Wrong position for row_start, row_end after adding column
# to implicit versioned table
#
set @@system_versioning_alter_history= keep;
set @@session.time_zone='+00:00';
create table t1 (x int) with system versioning engine innodb;
alter table t1 add column y int, algorithm=inplace;
check table t1;
Table Op Msg_type Msg_text
test.t1 check status OK
connection slave;
drop table t1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`x` int(11) DEFAULT NULL,
`y` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci WITH SYSTEM VERSIONING
connection master;
set timestamp= 12345;
insert t1 values (1, 1);
select *, unix_timestamp(row_start) as row_start, unix_timestamp(row_end) as row_end from t1;
x y row_start row_end
1 1 12345.000000 2147483647.999999
set timestamp= default;
### INSERT INTO `test`.`t1`
### SET
### @1=1
### @2=1
### @3=12345.000000
### @4=2147483647.999999
connection slave;
select * from t1;
x y
1 1
connection master;
drop table t1;
#
# MDEV-25347 DML events for auto-partitioned tables are written into binary log twice
#
flush binary logs;
create table t1 (a int) with system versioning
partition by system_time limit 1 auto;
insert into t1 values (1);
update t1 set a= a + 1;
update t1 set a= a + 2;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci WITH SYSTEM VERSIONING
PARTITION BY SYSTEM_TIME LIMIT 1 AUTO
PARTITIONS 3
select * from t1;
a
4
include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000002 # Binlog_checkpoint # # master-bin.000002
master-bin.000002 # Gtid # # GTID #-#-#
master-bin.000002 # Query # # use `test`; create table t1 (a int) with system versioning
partition by system_time limit 1 auto
master-bin.000002 # Gtid # # BEGIN GTID #-#-#
master-bin.000002 # Annotate_rows # # insert into t1 values (1)
master-bin.000002 # Table_map # # table_id: # (test.t1)
master-bin.000002 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000002 # Query # # COMMIT
master-bin.000002 # Gtid # # BEGIN GTID #-#-#
master-bin.000002 # Annotate_rows # # update t1 set a= a + 1
master-bin.000002 # Table_map # # table_id: # (test.t1)
master-bin.000002 # Update_rows_v1 # # table_id: #
master-bin.000002 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000002 # Query # # COMMIT
master-bin.000002 # Gtid # # BEGIN GTID #-#-#
master-bin.000002 # Annotate_rows # # update t1 set a= a + 2
master-bin.000002 # Table_map # # table_id: # (test.t1)
master-bin.000002 # Update_rows_v1 # # table_id: #
master-bin.000002 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000002 # Query # # COMMIT
connection slave;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci WITH SYSTEM VERSIONING
PARTITION BY SYSTEM_TIME LIMIT 1 AUTO
PARTITIONS 3
select * from t1;
a
4
connection master;
drop table t1;
include/rpl_end.inc
|