MySQL 8.4.0
Source Code Documentation
rpl_rli.cc File Reference
#include "sql/rpl_rli.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
#include <algorithm>
#include <regex>
#include "mutex_lock.h"
#include "my_bitmap.h"
#include "my_dbug.h"
#include "my_dir.h"
#include "my_sqlcommand.h"
#include "my_systime.h"
#include "my_thread.h"
#include "mysql/binlog/event/binlog_event.h"
#include "mysql/components/services/bits/psi_bits.h"
#include "mysql/components/services/bits/psi_stage_bits.h"
#include "mysql/components/services/log_builtins.h"
#include "mysql/plugin.h"
#include "mysql/psi/mysql_cond.h"
#include "mysql/psi/mysql_file.h"
#include "mysql/service_mysql_alloc.h"
#include "mysql/service_thd_wait.h"
#include "mysql/strings/int2str.h"
#include "mysql/strings/m_ctype.h"
#include "mysql_com.h"
#include "mysqld_error.h"
#include "nulls.h"
#include "sql/auth/auth_acls.h"
#include "sql/auth/roles.h"
#include "sql/auth/sql_auth_cache.h"
#include "sql/debug_sync.h"
#include "sql/derror.h"
#include "sql/log_event.h"
#include "sql/mdl.h"
#include "sql/mysqld.h"
#include "sql/protocol.h"
#include "sql/rpl_info_factory.h"
#include "sql/rpl_info_handler.h"
#include "sql/rpl_mi.h"
#include "sql/rpl_msr.h"
#include "sql/rpl_relay_log_sanitizer.h"
#include "sql/rpl_replica.h"
#include "sql/rpl_reporting.h"
#include "sql/rpl_rli_pdb.h"
#include "sql/rpl_trx_boundary_parser.h"
#include "sql/sql_base.h"
#include "sql/sql_error.h"
#include "sql/sql_lex.h"
#include "sql/sql_list.h"
#include "sql/sql_plugin.h"
#include "sql/strfunc.h"
#include "sql/transaction.h"
#include "sql/transaction_info.h"
#include "sql/xa.h"
#include "sql_string.h"
#include "string_with_len.h"
#include "strmake.h"
#include "thr_mutex.h"

Classes

struct  st_feature_version
 

Functions

static int add_relay_log (Relay_log_info *rli, LOG_INFO *linfo)
 
bool mysql_show_relaylog_events (THD *thd)
 Execute a SHOW RELAYLOG EVENTS statement. More...
 
static void wl6292_upgrade_func (THD *thd)
 
static void wl6292_downgrade_func (THD *thd)
 
bool is_mts_db_partitioned (Relay_log_info *rli)
 Auxiliary function to check if we have a db partitioned MTS. More...
 
bool operator! (Relay_log_info::enum_priv_checks_status status)
 Negation operator for enum_priv_checks_status, to facilitate validation against SUCCESS. More...
 
bool operator! (Relay_log_info::enum_require_row_status status)
 Negation operator for enum_require_row_status, to facilitate validation against SUCCESS. More...
 

Variables

const char * info_rli_fields []
 
static st_feature_version s_features []
 Sensitive to Master-vs-Slave version difference features should be listed in the version non-descending order. More...
 

Function Documentation

◆ add_relay_log()

static int add_relay_log ( Relay_log_info rli,
LOG_INFO linfo 
)
inlinestatic

◆ is_mts_db_partitioned()

bool is_mts_db_partitioned ( Relay_log_info rli)

Auxiliary function to check if we have a db partitioned MTS.

◆ mysql_show_relaylog_events()

bool mysql_show_relaylog_events ( THD thd)

Execute a SHOW RELAYLOG EVENTS statement.

When multiple replication channels exist on this slave and no channel name is specified through FOR CHANNEL clause this function errors out and exits.

Parameters
thdPointer to THD object for the client thread executing the statement.
Return values
falsesuccess
truefailure

◆ operator!() [1/2]

bool operator! ( Relay_log_info::enum_priv_checks_status  status)

Negation operator for enum_priv_checks_status, to facilitate validation against SUCCESS.

To test for error status, use the !! idiom.

Parameters
statusthe status code to check against SUCCESS
Returns
true if the status is SUCCESS and false otherwise.

◆ operator!() [2/2]

bool operator! ( Relay_log_info::enum_require_row_status  status)

Negation operator for enum_require_row_status, to facilitate validation against SUCCESS.

To test for error status, use the !! idiom.

Parameters
statusthe status code to check against SUCCESS
Returns
true if the status is SUCCESS and false otherwise.

◆ wl6292_downgrade_func()

static void wl6292_downgrade_func ( THD thd)
static

◆ wl6292_upgrade_func()

static void wl6292_upgrade_func ( THD thd)
static

Variable Documentation

◆ info_rli_fields

const char* info_rli_fields[]
Initial value:
= {
"number_of_lines",
"group_relay_log_name",
"group_relay_log_pos",
"group_source_log_name",
"group_source_log_pos",
"sql_delay",
"number_of_workers",
"id",
"channel_name",
"privilege_checks_user",
"privilege_checks_hostname",
"require_row_format",
"require_table_primary_key_check",
"assign_gtids_to_anonymous_transactions_type",
"assign_gtids_to_anonymous_transactions_value"}

◆ s_features

st_feature_version s_features[]
static
Initial value:
= {
{5, 6, 6},
{st_feature_version::_END_OF_LIST, {255, 255, 255}, nullptr, nullptr}}
static void wl6292_upgrade_func(THD *thd)
Definition: rpl_rli.cc:2501
static void wl6292_downgrade_func(THD *thd)
Definition: rpl_rli.cc:2509
@ WL6292_TIMESTAMP_EXPLICIT_DEFAULT
Definition: rpl_rli.cc:2482
@ _END_OF_LIST
Definition: rpl_rli.cc:2483

Sensitive to Master-vs-Slave version difference features should be listed in the version non-descending order.