File: binlog_functional_index.result

package info (click to toggle)
mysql-8.0 8.0.43-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,273,924 kB
  • sloc: cpp: 4,684,605; ansic: 412,450; pascal: 108,398; java: 83,641; perl: 30,221; cs: 27,067; sql: 26,594; sh: 24,181; python: 21,816; yacc: 17,169; php: 11,522; xml: 7,388; javascript: 7,076; makefile: 2,194; lex: 1,075; awk: 670; asm: 520; objc: 183; ruby: 97; lisp: 86
file content (133 lines) | stat: -rw-r--r-- 2,648 bytes parent folder | download
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# Check that the hidden generated column is not included in the binlog
# regardless of binlog_row_image
RESET MASTER;
SET @start_row_image_value = @@session.binlog_row_image;
CREATE TABLE t1 (col1 INT, col2 INT NOT NULL, col3 INT, col4 INT, UNIQUE INDEX ((ABS(col2))));
SET @@session.binlog_row_image = MINIMAL;
INSERT INTO t1 VALUES (1, 2, 3, 4), (2, 3, 4, 5);
UPDATE t1 SET col1 = 2 WHERE ABS(col2) = 2;
SET @@session.binlog_row_image = FULL;
INSERT INTO t1 VALUES (10, 20, 30, 40), (20, 30, 40, 50);
UPDATE t1 SET col1 = 20 WHERE ABS(col2) = 20;
SET @@session.binlog_row_image = NOBLOB;
INSERT INTO t1 VALUES (100, 200, 300, 400), (200, 300, 400, 500);
UPDATE t1 SET col1 = 200 WHERE ABS(col2) = 200;
DROP TABLE t1;
FLUSH LOGS;
include/mysqlbinlog.inc
### INSERT INTO `test`.`t1`
### SET
###   @1=1
###   @2=2
###   @3=3
###   @4=4
### INSERT INTO `test`.`t1`
### SET
###   @1=2
###   @2=3
###   @3=4
###   @4=5
### UPDATE `test`.`t1`
### WHERE
###   @1=1
###   @2=2
###   @3=3
###   @4=4
### SET
###   @1=2
### INSERT INTO `test`.`t1`
### SET
###   @1=10
###   @2=20
###   @3=30
###   @4=40
### INSERT INTO `test`.`t1`
### SET
###   @1=20
###   @2=30
###   @3=40
###   @4=50
### UPDATE `test`.`t1`
### WHERE
###   @1=10
###   @2=20
###   @3=30
###   @4=40
### SET
###   @1=20
###   @2=20
###   @3=30
###   @4=40
### INSERT INTO `test`.`t1`
### SET
###   @1=100
###   @2=200
###   @3=300
###   @4=400
### INSERT INTO `test`.`t1`
### SET
###   @1=200
###   @2=300
###   @3=400
###   @4=500
### UPDATE `test`.`t1`
### WHERE
###   @1=100
###   @2=200
###   @3=300
###   @4=400
### SET
###   @1=200
###   @2=200
###   @3=300
###   @4=400
RESET MASTER;
# Check that when the only unique NOT NULL index is a functional index,
# the binary log contains a full before-image regardless of
# binlog_row_image.
CREATE TABLE t1 (
col1 INT NOT NULL
, col2 INT NOT NULL
, col3 INT NOT NULL
, UNIQUE INDEX idx1 ((ABS(col1))));
INSERT INTO t1 VALUES (1, 1, 1);
SET binlog_row_image = MINIMAL;
UPDATE t1 SET col2 = 2 WHERE ABS(col1) = 1;
SET binlog_row_image = FULL;
UPDATE t1 SET col2 = 3 WHERE ABS(col1) = 1;
SET binlog_row_image = NOBLOB;
UPDATE t1 SET col2 = 4 WHERE ABS(col1) = 1;
DROP TABLE t1;
FLUSH LOGS;
SET @@session.binlog_row_image = @start_row_image_value;
include/mysqlbinlog.inc
### INSERT INTO `test`.`t1`
### SET
###   @1=1
###   @2=1
###   @3=1
### UPDATE `test`.`t1`
### WHERE
###   @1=1
###   @2=1
###   @3=1
### SET
###   @2=2
### UPDATE `test`.`t1`
### WHERE
###   @1=1
###   @2=2
###   @3=1
### SET
###   @1=1
###   @2=3
###   @3=1
### UPDATE `test`.`t1`
### WHERE
###   @1=1
###   @2=3
###   @3=1
### SET
###   @1=1
###   @2=4
###   @3=1