Skip to content

Commit b6a6087

Browse files
committed
MDEV-29805 Attempt to insert into system versioning columns on old server may make slave data diverge
1 parent e536cb8 commit b6a6087

File tree

5 files changed

+14
-16
lines changed

5 files changed

+14
-16
lines changed

mysql-test/main/mysqlbinlog.result

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -726,7 +726,7 @@ ROLLBACK/*!*/;
726726
use `test`/*!*/;
727727
SET TIMESTAMP=1253783037/*!*/;
728728
SET @@session.pseudo_thread_id=999999999/*!*/;
729-
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1/*!*/;
729+
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.system_versioning_insert_history=0/*!*/;
730730
SET @@session.sql_mode=0/*!*/;
731731
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
732732
/*!\C latin1 *//*!*/;
@@ -780,7 +780,7 @@ DELIMITER /*!*/;
780780
ROLLBACK/*!*/;
781781
SET TIMESTAMP=1253783037/*!*/;
782782
SET @@session.pseudo_thread_id=999999999/*!*/;
783-
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1/*!*/;
783+
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.system_versioning_insert_history=0/*!*/;
784784
SET @@session.sql_mode=0/*!*/;
785785
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
786786
/*!\C latin1 *//*!*/;
@@ -815,7 +815,7 @@ ROLLBACK /* added by mysqlbinlog */;
815815
DELIMITER /*!*/;
816816
SET TIMESTAMP=1266652094/*!*/;
817817
SET @@session.pseudo_thread_id=999999999/*!*/;
818-
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1/*!*/;
818+
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.system_versioning_insert_history=0/*!*/;
819819
SET @@session.sql_mode=0/*!*/;
820820
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
821821
/*!\C latin1 *//*!*/;
@@ -857,7 +857,7 @@ ROLLBACK /* added by mysqlbinlog */;
857857
DELIMITER /*!*/;
858858
SET TIMESTAMP=1266652094/*!*/;
859859
SET @@session.pseudo_thread_id=999999999/*!*/;
860-
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1/*!*/;
860+
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.system_versioning_insert_history=0/*!*/;
861861
SET @@session.sql_mode=0/*!*/;
862862
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
863863
/*!\C latin1 *//*!*/;
@@ -975,7 +975,7 @@ AAAAAAAAAAAAAAAAAAAgrgJSFzgNAAgAEgAEBAQEEgAAUwAEGggAAAAICAgC
975975
# Event: Query thread_id=1 exec_time=0 error_code=0 xid=0
976976
SET TIMESTAMP=1375907364/*!*/;
977977
SET @@session.pseudo_thread_id=1/*!*/;
978-
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1/*!*/;
978+
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.system_versioning_insert_history=0/*!*/;
979979
SET @@session.sql_mode=0/*!*/;
980980
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
981981
/*!\C latin1 *//*!*/;
@@ -1058,7 +1058,7 @@ AAAAAAAAAAAAAAAAAAA/rQJSGzgNAAgAEgAEBAQEEgAAUwAEGggAAAAICAgC
10581058
# Event: Query thread_id=1 exec_time=1 error_code=0 xid=0
10591059
SET TIMESTAMP=1375907141/*!*/;
10601060
SET @@session.pseudo_thread_id=1/*!*/;
1061-
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1/*!*/;
1061+
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.system_versioning_insert_history=0/*!*/;
10621062
SET @@session.sql_mode=0/*!*/;
10631063
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
10641064
/*!\C latin1 *//*!*/;
@@ -1141,7 +1141,7 @@ AAAAAAAAAAAAAAAAAAAnrAJSHzgNAAgAEgAEBAQEEgAAUwAEGggAAAAICAgC
11411141
# Event: Query thread_id=1 exec_time=0 error_code=0 xid=0
11421142
SET TIMESTAMP=1375906879/*!*/;
11431143
SET @@session.pseudo_thread_id=1/*!*/;
1144-
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1/*!*/;
1144+
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.system_versioning_insert_history=0/*!*/;
11451145
SET @@session.sql_mode=0/*!*/;
11461146
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
11471147
/*!\C latin1 *//*!*/;
@@ -1224,7 +1224,7 @@ AAAAAAAAAAAAAAAAAABbsAJSEzgNAAgAEgAEBAQEEgAAUwAEGggAAAAICAgC
12241224
# Event: Query thread_id=1 exec_time=0 error_code=0 xid=0
12251225
SET TIMESTAMP=1375907933/*!*/;
12261226
SET @@session.pseudo_thread_id=1/*!*/;
1227-
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1/*!*/;
1227+
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.system_versioning_insert_history=0/*!*/;
12281228
SET @@session.sql_mode=0/*!*/;
12291229
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
12301230
/*!\C latin1 *//*!*/;

mysql-test/suite/binlog/r/binlog_base64_flag.result

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ ROLLBACK/*!*/;
5959
<#>
6060
use `test`/*!*/;
6161
SET TIMESTAMP=1196959712/*!*/;
62-
<#>SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1/*!*/;
62+
<#>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.system_versioning_insert_history=0/*!*/;
6363
SET @@session.sql_mode=0/*!*/;
6464
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
6565
/*!\C latin1 *//*!*/;

mysql-test/suite/rpl/r/rpl_old_master_29078.result

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ ROLLBACK/*!*/;
1616
use `test`/*!*/;
1717
SET TIMESTAMP=1658586280/*!*/;
1818
SET @@session.pseudo_thread_id=999999999/*!*/;
19-
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1/*!*/;
19+
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.system_versioning_insert_history=0/*!*/;
2020
SET @@session.sql_mode=1411383296/*!*/;
2121
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
2222
/*!\C utf8mb3 *//*!*/;

mysql-test/suite/rpl/r/rpl_parallel_29322.result

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ ROLLBACK/*!*/;
4242
use `test`/*!*/;
4343
SET TIMESTAMP=1658586280/*!*/;
4444
SET @@session.pseudo_thread_id=999999999/*!*/;
45-
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1/*!*/;
45+
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.system_versioning_insert_history=0/*!*/;
4646
SET @@session.sql_mode=1411383296/*!*/;
4747
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
4848
/*!\C utf8mb3 *//*!*/;
@@ -137,7 +137,7 @@ ROLLBACK/*!*/;
137137
use `test`/*!*/;
138138
SET TIMESTAMP=1658586280/*!*/;
139139
SET @@session.pseudo_thread_id=999999999/*!*/;
140-
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1/*!*/;
140+
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.system_versioning_insert_history=0/*!*/;
141141
SET @@session.sql_mode=1411383296/*!*/;
142142
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
143143
/*!\C utf8mb3 *//*!*/;

sql/log_event.cc

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2343,7 +2343,8 @@ void Format_description_log_event::calc_server_version_split()
23432343
void Format_description_log_event::deduct_options_written_to_bin_log()
23442344
{
23452345
options_written_to_bin_log= OPTION_AUTO_IS_NULL | OPTION_NOT_AUTOCOMMIT |
2346-
OPTION_NO_FOREIGN_KEY_CHECKS | OPTION_RELAXED_UNIQUE_CHECKS;
2346+
OPTION_NO_FOREIGN_KEY_CHECKS | OPTION_RELAXED_UNIQUE_CHECKS |
2347+
OPTION_INSERT_HISTORY;
23472348
if (!server_version_split.version_is_valid() ||
23482349
server_version_split.kind == master_version_split::KIND_MYSQL ||
23492350
server_version_split < Version(10,5,2))
@@ -2357,9 +2358,6 @@ void Format_description_log_event::deduct_options_written_to_bin_log()
23572358
return;
23582359
}
23592360
options_written_to_bin_log|= OPTION_EXPLICIT_DEF_TIMESTAMP;
2360-
if (server_version_split < Version(10, 11, 0))
2361-
return;
2362-
options_written_to_bin_log|= OPTION_INSERT_HISTORY;
23632361

23642362
DBUG_ASSERT(options_written_to_bin_log == OPTIONS_WRITTEN_TO_BIN_LOG);
23652363
}

0 commit comments

Comments
 (0)