MySQL 9.0.0
Source Code Documentation
LEX_SOURCE_INFO Struct Reference

Structure to hold parameters for CHANGE REPLICATION SOURCE, START REPLICA, and STOP REPLICA. More...

#include <sql_lex.h>

Public Types

enum  { UNTIL_SQL_BEFORE_GTIDS = 0 , UNTIL_SQL_AFTER_GTIDS }
 
enum  { LEX_MI_UNCHANGED = 0 , LEX_MI_DISABLE , LEX_MI_ENABLE }
 
enum  enum_tls_ciphersuites { UNSPECIFIED = 0 , SPECIFIED_NULL , SPECIFIED_STRING }
 
enum  {
  LEX_MI_PK_CHECK_UNCHANGED = 0 , LEX_MI_PK_CHECK_STREAM = 1 , LEX_MI_PK_CHECK_ON = 2 , LEX_MI_PK_CHECK_OFF = 3 ,
  LEX_MI_PK_CHECK_GENERATE = 4
}
 Identifies what is the slave policy on primary keys in tables. More...
 
enum  { LEX_MI_ANONYMOUS_TO_GTID_UNCHANGED = 0 , LEX_MI_ANONYMOUS_TO_GTID_OFF , LEX_MI_ANONYMOUS_TO_GTID_LOCAL , LEX_MI_ANONYMOUS_TO_GTID_UUID }
 

Public Member Functions

 LEX_SOURCE_INFO ()
 
void initialize ()
 Initializes everything to zero/NULL/empty. More...
 
void set_unspecified ()
 Sets all fields to their "unspecified" value. More...
 

Public Attributes

char * host
 
char * user
 
char * password
 
char * log_file_name
 
char * bind_addr
 
char * network_namespace
 
uint port
 
uint connect_retry
 
float heartbeat_period
 
int sql_delay
 
ulonglong pos
 
ulong server_id
 
ulong retry_count
 
char * gtid
 
char * view_id
 
const char * channel
 
enum LEX_SOURCE_INFO:: { ... }  gtid_until_condition
 
bool until_after_gaps
 
bool replica_until
 
bool for_channel
 
enum LEX_SOURCE_INFO:: { ... }  ssl
 
enum LEX_SOURCE_INFO:: { ... }  ssl_verify_server_cert
 
enum LEX_SOURCE_INFO:: { ... }  heartbeat_opt
 
enum LEX_SOURCE_INFO:: { ... }  repl_ignore_server_ids_opt
 
enum LEX_SOURCE_INFO:: { ... }  retry_count_opt
 
enum LEX_SOURCE_INFO:: { ... }  auto_position
 
enum LEX_SOURCE_INFO:: { ... }  port_opt
 
enum LEX_SOURCE_INFO:: { ... }  get_public_key
 
enum LEX_SOURCE_INFO:: { ... }  m_source_connection_auto_failover
 
enum LEX_SOURCE_INFO:: { ... }  m_gtid_only
 
char * ssl_key
 
char * ssl_cert
 
char * ssl_ca
 
char * ssl_capath
 
char * ssl_cipher
 
char * ssl_crl
 
char * ssl_crlpath
 
char * tls_version
 
enum enum_tls_ciphersuites tls_ciphersuites
 
char * tls_ciphersuites_string
 
char * public_key_path
 
char * relay_log_name
 
ulong relay_log_pos
 
char * compression_algorithm
 
uint zstd_compression_level
 
Prealloced_array< ulong, 2 > repl_ignore_server_ids
 
bool privilege_checks_none
 Flag that is set to true whenever PRIVILEGE_CHECKS_USER is set to NULL as a part of a CHANGE REPLICATION SOURCE TO statement. More...
 
const char * privilege_checks_username
 Username and hostname parts of the PRIVILEGE_CHECKS_USER, when it's set to a user. More...
 
const char * privilege_checks_hostname
 
int require_row_format
 Flag indicating if row format should be enforced for this channel event stream. More...
 
enum LEX_SOURCE_INFO:: { ... }  require_table_primary_key_check
 Identifies what is the slave policy on primary keys in tables. More...
 
enum LEX_SOURCE_INFO:: { ... }  assign_gtids_to_anonymous_transactions_type
 
const char * assign_gtids_to_anonymous_transactions_manual_uuid {nullptr}
 

Private Member Functions

 LEX_SOURCE_INFO (const LEX_SOURCE_INFO &)
 
LEX_SOURCE_INFOoperator= (const LEX_SOURCE_INFO &)
 

Detailed Description

Structure to hold parameters for CHANGE REPLICATION SOURCE, START REPLICA, and STOP REPLICA.

Remark: this should not be confused with Master_info (and perhaps would better be renamed to st_lex_replication_info). Some fields, e.g., delay, are saved in Relay_log_info, not in Master_info.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
UNTIL_SQL_BEFORE_GTIDS 
UNTIL_SQL_AFTER_GTIDS 

◆ anonymous enum

anonymous enum
Enumerator
LEX_MI_UNCHANGED 
LEX_MI_DISABLE 
LEX_MI_ENABLE 

◆ anonymous enum

anonymous enum

Identifies what is the slave policy on primary keys in tables.

If set to STREAM it just replicates the value of sql_require_primary_key. If set to ON it fails when the source tries to replicate a table creation or alter operation that does not have a primary key. If set to OFF it does not enforce any policies on the channel for primary keys.

Enumerator
LEX_MI_PK_CHECK_UNCHANGED 
LEX_MI_PK_CHECK_STREAM 
LEX_MI_PK_CHECK_ON 
LEX_MI_PK_CHECK_OFF 
LEX_MI_PK_CHECK_GENERATE 

◆ anonymous enum

anonymous enum
Enumerator
LEX_MI_ANONYMOUS_TO_GTID_UNCHANGED 
LEX_MI_ANONYMOUS_TO_GTID_OFF 
LEX_MI_ANONYMOUS_TO_GTID_LOCAL 
LEX_MI_ANONYMOUS_TO_GTID_UUID 

◆ enum_tls_ciphersuites

Enumerator
UNSPECIFIED 
SPECIFIED_NULL 
SPECIFIED_STRING 

Constructor & Destructor Documentation

◆ LEX_SOURCE_INFO() [1/2]

LEX_SOURCE_INFO::LEX_SOURCE_INFO ( )
inline

◆ LEX_SOURCE_INFO() [2/2]

LEX_SOURCE_INFO::LEX_SOURCE_INFO ( const LEX_SOURCE_INFO )
private

Member Function Documentation

◆ initialize()

void LEX_SOURCE_INFO::initialize ( )

Initializes everything to zero/NULL/empty.

◆ operator=()

LEX_SOURCE_INFO & LEX_SOURCE_INFO::operator= ( const LEX_SOURCE_INFO )
private

◆ set_unspecified()

void LEX_SOURCE_INFO::set_unspecified ( )

Sets all fields to their "unspecified" value.

Member Data Documentation

◆ assign_gtids_to_anonymous_transactions_manual_uuid

const char* LEX_SOURCE_INFO::assign_gtids_to_anonymous_transactions_manual_uuid {nullptr}

◆ 

enum { ... } LEX_SOURCE_INFO::assign_gtids_to_anonymous_transactions_type

◆ 

enum { ... } LEX_SOURCE_INFO::auto_position

◆ bind_addr

char * LEX_SOURCE_INFO::bind_addr

◆ channel

const char* LEX_SOURCE_INFO::channel

◆ compression_algorithm

char* LEX_SOURCE_INFO::compression_algorithm

◆ connect_retry

uint LEX_SOURCE_INFO::connect_retry

◆ for_channel

bool LEX_SOURCE_INFO::for_channel

◆ 

enum { ... } LEX_SOURCE_INFO::get_public_key

◆ gtid

char* LEX_SOURCE_INFO::gtid

◆ 

enum { ... } LEX_SOURCE_INFO::gtid_until_condition

◆ 

enum { ... } LEX_SOURCE_INFO::heartbeat_opt

◆ heartbeat_period

float LEX_SOURCE_INFO::heartbeat_period

◆ host

char* LEX_SOURCE_INFO::host

◆ log_file_name

char * LEX_SOURCE_INFO::log_file_name

◆ 

enum { ... } LEX_SOURCE_INFO::m_gtid_only

◆ 

enum { ... } LEX_SOURCE_INFO::m_source_connection_auto_failover

◆ network_namespace

char * LEX_SOURCE_INFO::network_namespace

◆ password

char * LEX_SOURCE_INFO::password

◆ port

uint LEX_SOURCE_INFO::port

◆ 

enum { ... } LEX_SOURCE_INFO::port_opt

◆ pos

ulonglong LEX_SOURCE_INFO::pos

◆ privilege_checks_hostname

const char * LEX_SOURCE_INFO::privilege_checks_hostname

◆ privilege_checks_none

bool LEX_SOURCE_INFO::privilege_checks_none

Flag that is set to true whenever PRIVILEGE_CHECKS_USER is set to NULL as a part of a CHANGE REPLICATION SOURCE TO statement.

◆ privilege_checks_username

const char* LEX_SOURCE_INFO::privilege_checks_username

Username and hostname parts of the PRIVILEGE_CHECKS_USER, when it's set to a user.

◆ public_key_path

char* LEX_SOURCE_INFO::public_key_path

◆ relay_log_name

char* LEX_SOURCE_INFO::relay_log_name

◆ relay_log_pos

ulong LEX_SOURCE_INFO::relay_log_pos

◆ repl_ignore_server_ids

Prealloced_array<ulong, 2> LEX_SOURCE_INFO::repl_ignore_server_ids

◆ 

enum { ... } LEX_SOURCE_INFO::repl_ignore_server_ids_opt

◆ replica_until

bool LEX_SOURCE_INFO::replica_until

◆ require_row_format

int LEX_SOURCE_INFO::require_row_format

Flag indicating if row format should be enforced for this channel event stream.

◆ 

enum { ... } LEX_SOURCE_INFO::require_table_primary_key_check

Identifies what is the slave policy on primary keys in tables.

If set to STREAM it just replicates the value of sql_require_primary_key. If set to ON it fails when the source tries to replicate a table creation or alter operation that does not have a primary key. If set to OFF it does not enforce any policies on the channel for primary keys.

◆ retry_count

ulong LEX_SOURCE_INFO::retry_count

◆ 

enum { ... } LEX_SOURCE_INFO::retry_count_opt

◆ server_id

ulong LEX_SOURCE_INFO::server_id

◆ sql_delay

int LEX_SOURCE_INFO::sql_delay

◆ 

enum { ... } LEX_SOURCE_INFO::ssl

◆ ssl_ca

char * LEX_SOURCE_INFO::ssl_ca

◆ ssl_capath

char * LEX_SOURCE_INFO::ssl_capath

◆ ssl_cert

char * LEX_SOURCE_INFO::ssl_cert

◆ ssl_cipher

char * LEX_SOURCE_INFO::ssl_cipher

◆ ssl_crl

char* LEX_SOURCE_INFO::ssl_crl

◆ ssl_crlpath

char * LEX_SOURCE_INFO::ssl_crlpath

◆ ssl_key

char* LEX_SOURCE_INFO::ssl_key

◆ 

enum { ... } LEX_SOURCE_INFO::ssl_verify_server_cert

◆ tls_ciphersuites

enum enum_tls_ciphersuites LEX_SOURCE_INFO::tls_ciphersuites

◆ tls_ciphersuites_string

char* LEX_SOURCE_INFO::tls_ciphersuites_string

◆ tls_version

char * LEX_SOURCE_INFO::tls_version

◆ until_after_gaps

bool LEX_SOURCE_INFO::until_after_gaps

◆ user

char * LEX_SOURCE_INFO::user

◆ view_id

char* LEX_SOURCE_INFO::view_id

◆ zstd_compression_level

uint LEX_SOURCE_INFO::zstd_compression_level

The documentation for this struct was generated from the following files: