1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

MDEV-16329 [4/5] Refactor MYSQL_BIN_LOG: extract Event_log ancestor

Event_log is supposed to be a basic logging class that can write events in
a single file.

MYSQL_BIN_LOG in comparison will have:
* rotation support
* index files
* purging
* gtid and transactional information handling.
* is dedicated for a general-purpose binlog
This commit is contained in:
Nikita Malyavin
2021-12-12 11:41:14 +03:00
committed by Sergei Golubchik
parent 6427e343cf
commit d2d0995cf2
8 changed files with 180 additions and 112 deletions

View File

@@ -7023,7 +7023,7 @@ CPP_UNNAMED_NS_START
CPP_UNNAMED_NS_END
int THD::binlog_write_row(TABLE* table, MYSQL_BIN_LOG *bin_log,
int THD::binlog_write_row(TABLE* table, Event_log *bin_log,
binlog_cache_data *cache_data, bool is_trans,
uchar const *record)
{
@@ -7054,7 +7054,7 @@ int THD::binlog_write_row(TABLE* table, MYSQL_BIN_LOG *bin_log,
return ev->add_row_data(row_data, len);
}
int THD::binlog_update_row(TABLE* table, MYSQL_BIN_LOG *bin_log,
int THD::binlog_update_row(TABLE* table, Event_log *bin_log,
binlog_cache_data *cache_data, bool is_trans,
const uchar *before_record,
const uchar *after_record)
@@ -7123,7 +7123,7 @@ int THD::binlog_update_row(TABLE* table, MYSQL_BIN_LOG *bin_log,
}
int THD::binlog_delete_row(TABLE* table, MYSQL_BIN_LOG *bin_log,
int THD::binlog_delete_row(TABLE* table, Event_log *bin_log,
binlog_cache_data *cache_data, bool is_trans,
uchar const *record)
{
@@ -7160,7 +7160,7 @@ int THD::binlog_delete_row(TABLE* table, MYSQL_BIN_LOG *bin_log,
auto creator= binlog_should_compress(len) ?
Rows_event_factory::get<Delete_rows_compressed_log_event>() :
Rows_event_factory::get<Delete_rows_log_event>();
auto *ev= mysql_bin_log.prepare_pending_rows_event(this, table, cache_data,
auto *ev= bin_log->prepare_pending_rows_event(this, table, cache_data,
variables.server_id,
len, is_trans, creator);
@@ -7265,7 +7265,7 @@ int THD::binlog_flush_pending_rows_event(bool stmt_end, bool is_transactional)
int error=
::binlog_flush_pending_rows_event(this, stmt_end, is_transactional,
&mysql_bin_log, cache);
mysql_bin_log.as_event_log(), cache);
DBUG_RETURN(error);
}