WL#5816: Use one interface to write statements to binary log
Affects: Server-Prototype Only — Status: On-Hold
This is a step towards making replication a library, such that the 5.6 rpl- lib can be plugged into the 5.5 core [WL#5675]. Currently, the server writes statements to the binary log in two different ways in different parts of the code: - call binlog_query() - create Query_log_event, call MYSQLBINLOG::write(Query_log_event), and possibly call issue_unsafe_warnings() In this worklog, we replace all this by one single call to Binlog::log_statement(). The following places need to be updated: sp_head.cc:execute_function() sp_head.cc:execute_procedure() sql_base.cc:close_temporary_tables() sql_db.cc (5 places) sql_base.cc:close_temporary_tables() We also remove the external declaration of MYSQLBINLOG if possible; i.e., if core does not depend on any other members of MYSQLBINLOG.
Copyright (c) 2000, 2020, Oracle Corporation and/or its affiliates. All rights reserved.