mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
MDEV-16329 [3/5] use binlog_cache_data directly in most places
* Eliminate most usages of THD::use_trans_table. Only 3 left, and they are at quite high levels, and really essential. * Eliminate is_transactional argument when possible. Lots of places are left though, because of some WSREP error handling in MYSQL_BIN_LOG::set_write_error. * Remove junk binlog functions from THD * binlog_prepare_pending_rows_event is moved to log.cc inside MYSQL_BIN_LOG and is not anymore template. Instead it accepls event factory with a type code, and a callback to a constructing function in it.
This commit is contained in:
committed by
Sergei Golubchik
parent
429f635f30
commit
6427e343cf
@@ -2947,13 +2947,13 @@ public:
|
||||
void binlog_start_trans_and_stmt();
|
||||
void binlog_set_stmt_begin();
|
||||
int binlog_write_row(TABLE* table, MYSQL_BIN_LOG *bin_log,
|
||||
binlog_cache_mngr *cache_mngr, bool is_transactional,
|
||||
binlog_cache_data *cache_data, bool is_transactional,
|
||||
const uchar *buf);
|
||||
int binlog_delete_row(TABLE* table, MYSQL_BIN_LOG *bin_log,
|
||||
binlog_cache_mngr *cache_mngr, bool is_transactional,
|
||||
binlog_cache_data *cache_data, bool is_transactional,
|
||||
const uchar *buf);
|
||||
int binlog_update_row(TABLE* table, MYSQL_BIN_LOG *bin_log,
|
||||
binlog_cache_mngr *cache_mngr, bool is_transactional,
|
||||
binlog_cache_data *cache_data, bool is_transactional,
|
||||
const uchar *old_data, const uchar *new_data);
|
||||
bool prepare_handlers_for_update(uint flag);
|
||||
bool binlog_write_annotated_row(Log_event_writer *writer);
|
||||
@@ -2968,14 +2968,12 @@ public:
|
||||
Member functions to handle pending event for row-level logging.
|
||||
*/
|
||||
binlog_cache_mngr *binlog_get_cache_mngr() const;
|
||||
void binlog_set_pending_rows_event(Rows_log_event* ev, bool use_trans_cache);
|
||||
inline int binlog_flush_pending_rows_event(bool stmt_end)
|
||||
{
|
||||
return (binlog_flush_pending_rows_event(stmt_end, FALSE) ||
|
||||
binlog_flush_pending_rows_event(stmt_end, TRUE));
|
||||
}
|
||||
int binlog_flush_pending_rows_event(bool stmt_end, bool is_transactional);
|
||||
int binlog_remove_pending_rows_event(bool clear_maps, bool is_transactional);
|
||||
|
||||
bool binlog_need_stmt_format(bool is_transactional) const
|
||||
{
|
||||
|
Reference in New Issue
Block a user