Bug #93771 | Contribution: Add log_bin_implicit_delete setting | ||
---|---|---|---|
Submitted: | 31 Dec 2018 16:07 | Modified: | 27 Jun 2019 19:15 |
Reporter: | OCA Admin (OCA) | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Replication | Severity: | S3 (Non-critical) |
Version: | OS: | Any | |
Assigned to: | CPU Architecture: | Any |
[31 Dec 2018 16:07]
OCA Admin
[31 Dec 2018 16:07]
OCA Admin
Contribution submitted via Github - Add log_bin_implicit_delete setting (*) Contribution by Daniël van Eeden (Github dveeden, mysql-server/pull/237#issuecomment-450643252): I confirm the code being submitted is offered under the terms of the OCA, and that I am authorized to contribute it.
Contribution: git_patch_241492290.txt (text/plain), 4.24 KiB.
[31 Dec 2018 21:07]
MySQL Verification Team
Thank you for the contribution.
[27 Jun 2019 19:15]
Margaret Fisher
Posted by developer: Changelog entry added for MySQL 8.0.17 and 5.7.27: When a MEMORY table is implicitly deleted on a master following a server restart, the master writes a DELETE statement to the binary log so that slaves also empty the table. This generated event now includes a comment in the binary log so that the reason for the DELETE statement is easy to identify. Thanks to Daniël van Eeden for the contribution. Added to https://dev.mysql.com/doc/refman/8.0/en/replication-features-memory.html and https://dev.mysql.com/doc/refman/5.7/en/replication-features-memory.html This generated event is identifiable by a comment in the binary log, and if GTIDs are in use on the server, it has a GTID assigned.
[23 Jul 2019 8:54]
Daniël van Eeden
commit cc4d8f98eea12feeff4af2e87613c7f3a4e9f49c Author: Venkatesh Venugopal <venkatesh.venugopal@oracle.com> Date: Mon May 20 11:35:32 2019 +0530 Bug#29157796: CONTRIBUTION: ADD LOG_BIN_IMPLICIT_DELETE SETTING Memory table's data will be lost after server restart. To keep the data consistency between master and slave, master binlogs 'DELETE FROM `db`.`table_name`' when the memory table is locked first time. This patch adds a comment to the DELETE to hint the user why the DELETE was logged. RB:22030 diff --git a/sql/sql_base.cc b/sql/sql_base.cc index 24a591400d9..1180102f202 100644 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@ -4416,6 +4416,7 @@ static bool open_table_entry_fini(THD *thd, TABLE_SHARE *share, TABLE *entry) error= temp_buf.append("."); append_identifier(thd, &temp_buf, share->table_name.str, strlen(share->table_name.str)); + error= temp_buf.append(" /* generated by server, implicitly emptying in-memory table */"); if (mysql_bin_log.write_dml_directly(thd, temp_buf.c_ptr_safe(), temp_buf.length())) return TRUE;
[23 Jul 2019 8:55]
Daniël van Eeden
Commit cc4d8f98eea12feeff4af2e87613c7f3a4e9f49c only adds the comment, it doesn't add the log_bin_implicit_delete setting.