Skip to content

Commit 47010cc

Browse files
montywivuvova
authored andcommitted
MDEV-23842 Atomic RENAME TABLE
- Major rewrite of ddl_log.cc and ddl_log.h - ddl_log.cc described in the beginning how the recovery works. - ddl_log.log has unique signature and is dynamic. It's easy to add more information to the header and other ddl blocks while still being able to execute old ddl entries. - IO_SIZE for ddl blocks is now dynamic. Can be changed without affecting recovery of old logs. - Code is more modular and is now usable outside of partition handling. - Renamed log file to dll_recovery.log and added option --log-ddl-recovery to allow one to specify the path & filename. - Added ddl_log_entry_phase[], number of phases for each DDL action, which allowed me to greatly simply set_global_from_ddl_log_entry() - Changed how strings are stored in log entries, which allows us to store much more information in a log entry. - ddl log is now always created at start and deleted on normal shutdown. This simplices things notable. - Added probes debug_crash_here() and debug_simulate_error() to simply crash testing and allow crash after a given number of times a probe is executed. See comments in debug_sync.cc and rename_table.test for how this can be used. - Reverting failed table and view renames is done trough the ddl log. This ensures that the ddl log is tested also outside of recovery. - Added helper function 'handler::needs_lower_case_filenames()' - Extend binary log with Q_XID events. ddl log handling is using this to check if a ddl log entry was logged to the binary log (if yes, it will be deleted from the log during ddl_log_close_binlogged_events() - If a DDL entry fails 3 time, disable it. This is to ensure that if we have a crash in ddl recovery code the server will not get stuck in a forever crash-restart-crash loop. mysqltest.cc changes: - --die will now replace $variables with their values - $error will contain the error of the last failed statement storage engine changes: - maria_rename() was changed to be more robust against crashes during rename.
1 parent 55c771b commit 47010cc

File tree

69 files changed

+4096
-1378
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+4096
-1378
lines changed

client/mysqltest.cc

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8096,9 +8096,10 @@ void handle_error(struct st_command *command,
80968096
const char *err_sqlstate, DYNAMIC_STRING *ds)
80978097
{
80988098
int i;
8099-
81008099
DBUG_ENTER("handle_error");
81018100

8101+
var_set_int("$errno", err_errno);
8102+
81028103
command->used_replace= 1;
81038104
if (command->require_file)
81048105
{
@@ -9694,10 +9695,28 @@ int main(int argc, char **argv)
96949695
report_or_die("Parsing is already enabled");
96959696
break;
96969697
case Q_DIE:
9698+
{
9699+
char message[160];
9700+
const char *msg;
9701+
DYNAMIC_STRING ds_echo;
9702+
9703+
if (command->first_argument[0])
9704+
{
9705+
/* Evaluate variables in the message */
9706+
init_dynamic_string(&ds_echo, "", command->query_len, 256);
9707+
do_eval(&ds_echo, command->first_argument, command->end, FALSE);
9708+
strmake(message, ds_echo.str, MY_MIN(sizeof(message)-1,
9709+
ds_echo.length));
9710+
dynstr_free(&ds_echo);
9711+
msg= message;
9712+
}
9713+
else
9714+
msg= "Explicit --die command executed";
9715+
96979716
/* Abort test with error code and error message */
9698-
die("%s", command->first_argument[0] ? command->first_argument :
9699-
"Explicit --die command executed");
9717+
die("%s", msg);
97009718
break;
9719+
}
97019720
case Q_EXIT:
97029721
/* Stop processing any more commands */
97039722
abort_flag= 1;

libmysqld/lib_sql.cc

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -641,7 +641,11 @@ int init_embedded_server(int argc, char **argv, char **groups)
641641
}
642642
}
643643

644-
ddl_log_execute_recovery();
644+
if (ddl_log_execute_recovery() > 0)
645+
{
646+
mysql_server_end();
647+
return 1;
648+
}
645649
mysql_embedded_init= 1;
646650
return 0;
647651
}

mysql-test/main/mysqlbinlog.result

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -970,7 +970,7 @@ AAAAAAAAAAAAAAAAAAAgrgJSFzgNAAgAEgAEBAQEEgAAUwAEGggAAAAICAgC
970970
# b1 61 62 6c 65 20 74 65 73 74 2e 74 31 20 28 69 64 |able test.t1 (id|
971971
# c1 20 69 6e 74 20 6e 6f 74 20 6e 75 6c 6c 29 | int not null)|
972972
#
973-
# Event: Query thread_id=1 exec_time=0 error_code=0
973+
# Event: Query thread_id=1 exec_time=0 error_code=0 xid=0
974974
SET TIMESTAMP=1375907364/*!*/;
975975
SET @@session.pseudo_thread_id=1/*!*/;
976976
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1, @@session.sql_if_exists=0/*!*/;
@@ -994,7 +994,7 @@ create table test.t1 (id int not null)
994994
# 116 6e 74 6f 20 74 65 73 74 2e 74 31 20 28 69 64 29 |nto test.t1 (id)|
995995
# 126 20 76 61 6c 75 65 73 20 28 31 29 | values (1)|
996996
#
997-
# Event: Query thread_id=1 exec_time=0 error_code=0
997+
# Event: Query thread_id=1 exec_time=0 error_code=0 xid=0
998998
SET TIMESTAMP=1375907366/*!*/;
999999
insert into test.t1 (id) values (1)
10001000
/*!*/;
@@ -1009,7 +1009,7 @@ insert into test.t1 (id) values (1)
10091009
# 168 04 08 00 08 00 08 00 00 64 72 6f 70 20 74 61 62 |........drop tab|
10101010
# 178 6c 65 20 74 65 73 74 2e 74 31 |le test.t1|
10111011
#
1012-
# Event: Query thread_id=1 exec_time=0 error_code=0
1012+
# Event: Query thread_id=1 exec_time=0 error_code=0 xid=0
10131013
SET TIMESTAMP=1375907368/*!*/;
10141014
drop table test.t1
10151015
/*!*/;
@@ -1053,7 +1053,7 @@ AAAAAAAAAAAAAAAAAAA/rQJSGzgNAAgAEgAEBAQEEgAAUwAEGggAAAAICAgC
10531053
# b5 61 62 6c 65 20 74 65 73 74 2e 74 31 20 28 69 64 |able test.t1 (id|
10541054
# c5 20 69 6e 74 20 6e 6f 74 20 6e 75 6c 6c 29 | int not null)|
10551055
#
1056-
# Event: Query thread_id=1 exec_time=1 error_code=0
1056+
# Event: Query thread_id=1 exec_time=1 error_code=0 xid=0
10571057
SET TIMESTAMP=1375907141/*!*/;
10581058
SET @@session.pseudo_thread_id=1/*!*/;
10591059
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1, @@session.sql_if_exists=0/*!*/;
@@ -1077,7 +1077,7 @@ create table test.t1 (id int not null)
10771077
# 11e 6e 74 6f 20 74 65 73 74 2e 74 31 20 28 69 64 29 |nto test.t1 (id)|
10781078
# 12e 20 76 61 6c 75 65 73 20 28 31 29 | values (1)|
10791079
#
1080-
# Event: Query thread_id=1 exec_time=0 error_code=0
1080+
# Event: Query thread_id=1 exec_time=0 error_code=0 xid=0
10811081
SET TIMESTAMP=1375907144/*!*/;
10821082
insert into test.t1 (id) values (1)
10831083
/*!*/;
@@ -1092,7 +1092,7 @@ insert into test.t1 (id) values (1)
10921092
# 174 04 08 00 08 00 08 00 00 64 72 6f 70 20 74 61 62 |........drop tab|
10931093
# 184 6c 65 20 74 65 73 74 2e 74 31 |le test.t1|
10941094
#
1095-
# Event: Query thread_id=1 exec_time=0 error_code=0
1095+
# Event: Query thread_id=1 exec_time=0 error_code=0 xid=0
10961096
SET TIMESTAMP=1375907148/*!*/;
10971097
drop table test.t1
10981098
/*!*/;
@@ -1136,7 +1136,7 @@ AAAAAAAAAAAAAAAAAAAnrAJSHzgNAAgAEgAEBAQEEgAAUwAEGggAAAAICAgC
11361136
# b9 61 62 6c 65 20 74 65 73 74 2e 74 31 20 28 69 64 |able test.t1 (id|
11371137
# c9 20 69 6e 74 20 6e 6f 74 20 6e 75 6c 6c 29 | int not null)|
11381138
#
1139-
# Event: Query thread_id=1 exec_time=0 error_code=0
1139+
# Event: Query thread_id=1 exec_time=0 error_code=0 xid=0
11401140
SET TIMESTAMP=1375906879/*!*/;
11411141
SET @@session.pseudo_thread_id=1/*!*/;
11421142
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1, @@session.sql_if_exists=0/*!*/;
@@ -1160,7 +1160,7 @@ create table test.t1 (id int not null)
11601160
# 126 6e 74 6f 20 74 65 73 74 2e 74 31 20 28 69 64 29 |nto test.t1 (id)|
11611161
# 136 20 76 61 6c 75 65 73 20 28 31 29 | values (1)|
11621162
#
1163-
# Event: Query thread_id=1 exec_time=0 error_code=0
1163+
# Event: Query thread_id=1 exec_time=0 error_code=0 xid=0
11641164
SET TIMESTAMP=1375906891/*!*/;
11651165
insert into test.t1 (id) values (1)
11661166
/*!*/;
@@ -1175,7 +1175,7 @@ insert into test.t1 (id) values (1)
11751175
# 180 04 08 00 08 00 08 00 00 64 72 6f 70 20 74 61 62 |........drop tab|
11761176
# 190 6c 65 20 74 65 73 74 2e 74 31 |le test.t1|
11771177
#
1178-
# Event: Query thread_id=1 exec_time=0 error_code=0
1178+
# Event: Query thread_id=1 exec_time=0 error_code=0 xid=0
11791179
SET TIMESTAMP=1375906901/*!*/;
11801180
drop table test.t1
11811181
/*!*/;
@@ -1219,7 +1219,7 @@ AAAAAAAAAAAAAAAAAABbsAJSEzgNAAgAEgAEBAQEEgAAUwAEGggAAAAICAgC
12191219
# ad 61 62 6c 65 20 74 65 73 74 2e 74 31 20 28 69 64 |able test.t1 (id|
12201220
# bd 20 69 6e 74 20 6e 6f 74 20 6e 75 6c 6c 29 | int not null)|
12211221
#
1222-
# Event: Query thread_id=1 exec_time=0 error_code=0
1222+
# Event: Query thread_id=1 exec_time=0 error_code=0 xid=0
12231223
SET TIMESTAMP=1375907933/*!*/;
12241224
SET @@session.pseudo_thread_id=1/*!*/;
12251225
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1, @@session.sql_if_exists=0/*!*/;
@@ -1243,7 +1243,7 @@ create table test.t1 (id int not null)
12431243
# 10e 6e 74 6f 20 74 65 73 74 2e 74 31 20 28 69 64 29 |nto test.t1 (id)|
12441244
# 11e 20 76 61 6c 75 65 73 20 28 31 29 | values (1)|
12451245
#
1246-
# Event: Query thread_id=1 exec_time=0 error_code=0
1246+
# Event: Query thread_id=1 exec_time=0 error_code=0 xid=0
12471247
SET TIMESTAMP=1375907935/*!*/;
12481248
insert into test.t1 (id) values (1)
12491249
/*!*/;
@@ -1258,7 +1258,7 @@ insert into test.t1 (id) values (1)
12581258
# 15c 04 08 00 08 00 08 00 00 64 72 6f 70 20 74 61 62 |........drop tab|
12591259
# 16c 6c 65 20 74 65 73 74 2e 74 31 |le test.t1|
12601260
#
1261-
# Event: Query thread_id=1 exec_time=0 error_code=0
1261+
# Event: Query thread_id=1 exec_time=0 error_code=0 xid=0
12621262
SET TIMESTAMP=1375907937/*!*/;
12631263
drop table test.t1
12641264
/*!*/;

mysql-test/main/mysqlbinlog_row_compressed.result

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ ROLLBACK/*!*/;
2929
/*!100001 SET @@session.server_id=1*//*!*/;
3030
/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
3131
# at 371
32-
#<date> server id 1 end_log_pos 533 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
32+
#<date> server id 1 end_log_pos 533 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0 xid=<xid>
3333
use `test`/*!*/;
3434
SET TIMESTAMP=X/*!*/;
3535
SET @@session.pseudo_thread_id=5/*!*/;
@@ -46,7 +46,7 @@ CREATE TABLE t1 (pk INT PRIMARY KEY, f1 INT, f2 INT, f3 TINYINT, f4 MEDIUMINT, f
4646
#<date> server id 1 end_log_pos 575 CRC32 XXX GTID 0-1-2 ddl
4747
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
4848
# at 575
49-
#<date> server id 1 end_log_pos 727 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
49+
#<date> server id 1 end_log_pos 727 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0 xid=<xid>
5050
SET TIMESTAMP=X/*!*/;
5151
CREATE TABLE t2 (pk INT PRIMARY KEY, f1 INT, f2 INT, f3 INT, f4 INT, f5 MEDIUMINT, f6 INT, f7 INT, f8 char(1))
5252
/*!*/;
@@ -75,7 +75,7 @@ START TRANSACTION
7575
### @9='' /* STRING(1) meta=65025 nullable=1 is_null=0 */
7676
# Number of rows: 1
7777
# at 967
78-
#<date> server id 1 end_log_pos 1040 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
78+
#<date> server id 1 end_log_pos 1040 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
7979
SET TIMESTAMP=X/*!*/;
8080
COMMIT
8181
/*!*/;
@@ -104,7 +104,7 @@ START TRANSACTION
104104
### @9=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
105105
# Number of rows: 1
106106
# at 1281
107-
#<date> server id 1 end_log_pos 1354 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
107+
#<date> server id 1 end_log_pos 1354 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
108108
SET TIMESTAMP=X/*!*/;
109109
COMMIT
110110
/*!*/;
@@ -133,7 +133,7 @@ START TRANSACTION
133133
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
134134
# Number of rows: 1
135135
# at 1596
136-
#<date> server id 1 end_log_pos 1669 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
136+
#<date> server id 1 end_log_pos 1669 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
137137
SET TIMESTAMP=X/*!*/;
138138
COMMIT
139139
/*!*/;
@@ -162,7 +162,7 @@ START TRANSACTION
162162
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
163163
# Number of rows: 1
164164
# at 1909
165-
#<date> server id 1 end_log_pos 1982 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
165+
#<date> server id 1 end_log_pos 1982 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
166166
SET TIMESTAMP=X/*!*/;
167167
COMMIT
168168
/*!*/;
@@ -224,7 +224,7 @@ START TRANSACTION
224224
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
225225
# Number of rows: 4
226226
# at 2225
227-
#<date> server id 1 end_log_pos 2298 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
227+
#<date> server id 1 end_log_pos 2298 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
228228
SET TIMESTAMP=X/*!*/;
229229
COMMIT
230230
/*!*/;
@@ -305,7 +305,7 @@ START TRANSACTION
305305
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
306306
# Number of rows: 3
307307
# at 2561
308-
#<date> server id 1 end_log_pos 2634 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
308+
#<date> server id 1 end_log_pos 2634 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
309309
SET TIMESTAMP=X/*!*/;
310310
COMMIT
311311
/*!*/;
@@ -367,7 +367,7 @@ START TRANSACTION
367367
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
368368
# Number of rows: 4
369369
# at 2861
370-
#<date> server id 1 end_log_pos 2934 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
370+
#<date> server id 1 end_log_pos 2934 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
371371
SET TIMESTAMP=X/*!*/;
372372
COMMIT
373373
/*!*/;
@@ -429,7 +429,7 @@ START TRANSACTION
429429
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
430430
# Number of rows: 4
431431
# at 3154
432-
#<date> server id 1 end_log_pos 3227 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
432+
#<date> server id 1 end_log_pos 3227 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
433433
SET TIMESTAMP=X/*!*/;
434434
COMMIT
435435
/*!*/;

mysql-test/main/mysqlbinlog_row_compressed.test

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ DELETE FROM t2;
2929

3030
FLUSH BINARY LOGS;
3131
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
32-
--replace_regex /\d{6} *\d*:\d\d:\d\d/<date>/ /Start:.*at startup/Start: xxx/ /SET TIMESTAMP=\d*/SET TIMESTAMP=X/ /exec_time=\d*/exec_time=x/ /mapped to number \d*/mapped to number num/ /CRC32 0x[0-9a-f]+/CRC32 XXX/ /@@session.sql_mode=\d+/@@session.sql_mode=#/ /collation_server=\d+/collation_server=#/
32+
--replace_regex /\d{6} *\d*:\d\d:\d\d/<date>/ /Start:.*at startup/Start: xxx/ /SET TIMESTAMP=\d*/SET TIMESTAMP=X/ /exec_time=\d*/exec_time=x/ /mapped to number \d*/mapped to number num/ /CRC32 0x[0-9a-f]+/CRC32 XXX/ /@@session.sql_mode=\d+/@@session.sql_mode=#/ /collation_server=\d+/collation_server=#/ /xid=\d*/xid=<xid>/
3333
--exec $MYSQL_BINLOG --verbose --verbose --base64-output=DECODE-ROWS $datadir/$binlog
3434

3535
--echo

mysql-test/main/mysqlbinlog_row_minimal.result

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ ROLLBACK/*!*/;
2727
/*!100001 SET @@session.server_id=1*//*!*/;
2828
/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
2929
# at 371
30-
#<date> server id 1 end_log_pos 555 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
30+
#<date> server id 1 end_log_pos 555 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
3131
use `test`/*!*/;
3232
SET TIMESTAMP=X/*!*/;
3333
SET @@session.pseudo_thread_id=5/*!*/;
@@ -44,7 +44,7 @@ CREATE TABLE t1 (pk INT PRIMARY KEY, f1 INT, f2 INT, f3 TINYINT, f4 MEDIUMINT, f
4444
#<date> server id 1 end_log_pos 597 CRC32 XXX GTID 0-1-2 ddl
4545
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
4646
# at 597
47-
#<date> server id 1 end_log_pos 774 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
47+
#<date> server id 1 end_log_pos 774 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
4848
SET TIMESTAMP=X/*!*/;
4949
CREATE TABLE t2 (pk INT PRIMARY KEY, f1 INT, f2 INT, f3 INT, f4 INT, f5 MEDIUMINT, f6 INT, f7 INT, f8 char(1))
5050
/*!*/;
@@ -73,7 +73,7 @@ START TRANSACTION
7373
### @9='' /* STRING(1) meta=65025 nullable=1 is_null=0 */
7474
# Number of rows: 1
7575
# at 1015
76-
#<date> server id 1 end_log_pos 1088 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
76+
#<date> server id 1 end_log_pos 1088 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
7777
SET TIMESTAMP=X/*!*/;
7878
COMMIT
7979
/*!*/;
@@ -102,7 +102,7 @@ START TRANSACTION
102102
### @9=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
103103
# Number of rows: 1
104104
# at 1330
105-
#<date> server id 1 end_log_pos 1403 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
105+
#<date> server id 1 end_log_pos 1403 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
106106
SET TIMESTAMP=X/*!*/;
107107
COMMIT
108108
/*!*/;
@@ -131,7 +131,7 @@ START TRANSACTION
131131
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
132132
# Number of rows: 1
133133
# at 1646
134-
#<date> server id 1 end_log_pos 1719 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
134+
#<date> server id 1 end_log_pos 1719 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
135135
SET TIMESTAMP=X/*!*/;
136136
COMMIT
137137
/*!*/;
@@ -160,7 +160,7 @@ START TRANSACTION
160160
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
161161
# Number of rows: 1
162162
# at 1962
163-
#<date> server id 1 end_log_pos 2035 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
163+
#<date> server id 1 end_log_pos 2035 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
164164
SET TIMESTAMP=X/*!*/;
165165
COMMIT
166166
/*!*/;
@@ -222,7 +222,7 @@ START TRANSACTION
222222
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
223223
# Number of rows: 4
224224
# at 2354
225-
#<date> server id 1 end_log_pos 2427 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
225+
#<date> server id 1 end_log_pos 2427 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
226226
SET TIMESTAMP=X/*!*/;
227227
COMMIT
228228
/*!*/;
@@ -255,7 +255,7 @@ START TRANSACTION
255255
### @5=5 /* INT meta=0 nullable=1 is_null=0 */
256256
# Number of rows: 3
257257
# at 2657
258-
#<date> server id 1 end_log_pos 2730 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
258+
#<date> server id 1 end_log_pos 2730 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
259259
SET TIMESTAMP=X/*!*/;
260260
COMMIT
261261
/*!*/;
@@ -285,7 +285,7 @@ START TRANSACTION
285285
### @1=13 /* INT meta=0 nullable=0 is_null=0 */
286286
# Number of rows: 4
287287
# at 2919
288-
#<date> server id 1 end_log_pos 2992 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
288+
#<date> server id 1 end_log_pos 2992 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
289289
SET TIMESTAMP=X/*!*/;
290290
COMMIT
291291
/*!*/;
@@ -315,7 +315,7 @@ START TRANSACTION
315315
### @1=13 /* INT meta=0 nullable=0 is_null=0 */
316316
# Number of rows: 4
317317
# at 3181
318-
#<date> server id 1 end_log_pos 3254 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
318+
#<date> server id 1 end_log_pos 3254 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
319319
SET TIMESTAMP=X/*!*/;
320320
COMMIT
321321
/*!*/;
@@ -394,7 +394,7 @@ START TRANSACTION
394394
### @3=X /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
395395
# Number of rows: 1
396396
# at POS
397-
#<date> server id 1 end_log_pos END_LOG_POS CRC32 XXX Query thread_id=TID exec_time=x error_code=0
397+
#<date> server id 1 end_log_pos END_LOG_POS CRC32 XXX Query thread_id=TID exec_time=x error_code=0 xid=<xid>
398398
SET TIMESTAMP=X/*!*/;
399399
SET @@session.pseudo_thread_id=TID/*!*/;
400400
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1, @@session.sql_if_exists=0/*!*/;

mysql-test/main/mysqlbinlog_row_minimal.test

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ DELETE FROM t2;
2828
FLUSH BINARY LOGS;
2929

3030
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
31-
--replace_regex /\d{6} *\d*:\d\d:\d\d/<date>/ /Start:.*at startup/Start: xxx/ /SET TIMESTAMP=\d*/SET TIMESTAMP=X/ /exec_time=\d*/exec_time=x/ /mapped to number \d*/mapped to number num/ /CRC32 0x[0-9a-f]+/CRC32 XXX/ /@@session.sql_mode=\d+/@@session.sql_mode=#/ /collation_server=\d+/collation_server=#/
31+
--replace_regex /\d{6} *\d*:\d\d:\d\d/<date>/ /Start:.*at startup/Start: xxx/ /SET TIMESTAMP=\d*/SET TIMESTAMP=X/ /exec_time=\d*/exec_time=x/ /mapped to number \d*/mapped to number num/ /CRC32 0x[0-9a-f]+/CRC32 XXX/ /@@session.sql_mode=\d+/@@session.sql_mode=#/ /collation_server=\d+/collation_server=#/ /xid=\d*/xid=<xid>/
3232
--exec $MYSQL_BINLOG --verbose --verbose --base64-output=DECODE-ROWS $datadir/$binlog
3333

3434
DROP TABLE t1,t2;
@@ -95,7 +95,7 @@ UPDATE t1 t1 INNER JOIN t2 t2 ON t1.ref_id = t2.id
9595

9696
FLUSH BINARY LOGS;
9797
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
98-
--replace_regex /table id \d*/table id TID/ /mapped to number \d*/mapped to number TID/ /at \d*/at POS/ /end_log_pos \d*/end_log_pos END_LOG_POS/ /GTID \d*-\d*-\d*/GTID D-S-N/ /\d{6} *\d*:\d\d:\d\d/<date>/ /SET TIMESTAMP=\d*/SET TIMESTAMP=X/ /exec_time=\d*/exec_time=x/ /@3=\d*/@3=X/ /CRC32 0x[0-9a-f]+/CRC32 XXX/ /@@session.sql_mode=\d+/@@session.sql_mode=#/ /collation_server=\d+/collation_server=#/ /thread_id=\d*/thread_id=TID/
98+
--replace_regex /table id \d*/table id TID/ /mapped to number \d*/mapped to number TID/ /at \d*/at POS/ /end_log_pos \d*/end_log_pos END_LOG_POS/ /GTID \d*-\d*-\d*/GTID D-S-N/ /\d{6} *\d*:\d\d:\d\d/<date>/ /SET TIMESTAMP=\d*/SET TIMESTAMP=X/ /exec_time=\d*/exec_time=x/ /@3=\d*/@3=X/ /CRC32 0x[0-9a-f]+/CRC32 XXX/ /@@session.sql_mode=\d+/@@session.sql_mode=#/ /collation_server=\d+/collation_server=#/ /thread_id=\d*/thread_id=TID/ /xid=\d*/xid=<xid>/
9999
--exec $MYSQL_BINLOG --verbose --verbose --base64-output=DECODE-ROWS $datadir/$binlog --start-position=$binlog_pos --stop-position=$binlog_end
100100

101101
DROP TABLE t1,t2;

0 commit comments

Comments
 (0)