MySQL 8.0.40
Source Code Documentation
|
#include <clone_protocol_service.h>
Public Attributes | |
void(* | mysql_clone_start_statement )(THD *&thd, unsigned int thread_key, unsigned int statement_key) |
Start and set session and statement key form current thread. More... | |
void(* | mysql_clone_finish_statement )(THD *thd) |
Finish statement and session. More... | |
int(* | mysql_clone_get_charsets )(THD *thd, Mysql_Clone_Values &char_sets) |
Get all character set and collations. More... | |
int(* | mysql_clone_validate_charsets )(THD *thd, Mysql_Clone_Values &char_sets) |
Check if all characters sets are supported by server. More... | |
int(* | mysql_clone_get_configs )(THD *thd, Mysql_Clone_Key_Values &configs) |
Get system configuration parameter values. More... | |
int(* | mysql_clone_validate_configs )(THD *thd, Mysql_Clone_Key_Values &configs) |
Check if configuration parameter values match. More... | |
MYSQL *(* | mysql_clone_connect )(THD *thd, const char *host, uint32_t port, const char *user, const char *passwd, mysql_clone_ssl_context *ssl_ctx, MYSQL_SOCKET *socket) |
Connect to a remote server and switch to clone protocol. More... | |
int(* | mysql_clone_send_command )(THD *thd, MYSQL *connection, bool set_active, unsigned char command, unsigned char *com_buffer, size_t buffer_length) |
Execute clone command on remote server. More... | |
int(* | mysql_clone_get_response )(THD *thd, MYSQL *connection, bool set_active, uint32_t timeout, unsigned char **packet, size_t *length, size_t *net_length) |
Get response from remote server. More... | |
int(* | mysql_clone_kill )(MYSQL *connection, MYSQL *kill_connection) |
Kill a remote connection. More... | |
void(* | mysql_clone_disconnect )(THD *thd, MYSQL *connection, bool is_fatal, bool clear_error) |
Disconnect from a remote server. More... | |
void(* | mysql_clone_get_error )(THD *thd, uint32_t *err_num, const char **err_mesg) |
Get error number and message. More... | |
int(* | mysql_clone_get_command )(THD *thd, unsigned char *command, unsigned char **com_buffer, size_t *buffer_length) |
Get command from client. More... | |
int(* | mysql_clone_send_response )(THD *thd, bool secure, unsigned char *packet, size_t length) |
Send response to client. More... | |
int(* | mysql_clone_send_error )(THD *thd, unsigned char err_cmd, bool is_fatal) |
Send error to client. More... | |
MYSQL *(* s_mysql_clone_protocol::mysql_clone_connect) (THD *thd, const char *host, uint32_t port, const char *user, const char *passwd, mysql_clone_ssl_context *ssl_ctx, MYSQL_SOCKET *socket) |
Connect to a remote server and switch to clone protocol.
[in,out] | thd | server session THD |
[in] | host | host name to connect to |
[in] | port | port number to connect to |
[in] | user | user name on remote host |
[in] | passwd | password for the user |
[in] | ssl_ctx | client ssl context |
[out] | socket | Network socket for the connection |
void(* s_mysql_clone_protocol::mysql_clone_disconnect) (THD *thd, MYSQL *connection, bool is_fatal, bool clear_error) |
Disconnect from a remote server.
[in,out] | thd | local session THD |
[in,out] | connection | connection object |
[in] | is_fatal | if closing after fatal error |
[in] | clear_error | clear any earlier error in session |
void(* s_mysql_clone_protocol::mysql_clone_finish_statement) (THD *thd) |
Finish statement and session.
[in,out] | thd | server session THD |
int(* s_mysql_clone_protocol::mysql_clone_get_charsets) (THD *thd, Mysql_Clone_Values &char_sets) |
Get all character set and collations.
[in,out] | thd | server session THD |
[out] | char_sets | all character set collations |
int(* s_mysql_clone_protocol::mysql_clone_get_command) (THD *thd, unsigned char *command, unsigned char **com_buffer, size_t *buffer_length) |
Get command from client.
[in,out] | thd | server session THD |
[out] | command | remote command |
[out] | com_buffer | data following command |
[out] | buffer_length | data length |
int(* s_mysql_clone_protocol::mysql_clone_get_configs) (THD *thd, Mysql_Clone_Key_Values &configs) |
Get system configuration parameter values.
[in,out] | thd | server session THD |
[in,out] | configs | a list of configuration key value pair keys are input and values are output |
void(* s_mysql_clone_protocol::mysql_clone_get_error) (THD *thd, uint32_t *err_num, const char **err_mesg) |
Get error number and message.
[in,out] | thd | local session THD |
[out] | err_num | error number |
[out] | err_mesg | error message text |
int(* s_mysql_clone_protocol::mysql_clone_get_response) (THD *thd, MYSQL *connection, bool set_active, uint32_t timeout, unsigned char **packet, size_t *length, size_t *net_length) |
Get response from remote server.
[in,out] | thd | local session THD |
[in,out] | connection | connection object |
[in] | set_active | set socket active for current THD |
[in] | timeout | timeout in seconds |
[out] | packet | response packet |
[out] | length | packet length |
[out] | net_length | network data length for compressed data |
Kill a remote connection.
[in,out] | connection | connection object |
[in] | kill_connection | connection to kill |
int(* s_mysql_clone_protocol::mysql_clone_send_command) (THD *thd, MYSQL *connection, bool set_active, unsigned char command, unsigned char *com_buffer, size_t buffer_length) |
Execute clone command on remote server.
[in,out] | thd | local session THD |
[in,out] | connection | connection object |
[in] | set_active | set socket active for current THD |
[in] | command | remote command |
[in] | com_buffer | data following command |
[in] | buffer_length | data length |
int(* s_mysql_clone_protocol::mysql_clone_send_error) (THD *thd, unsigned char err_cmd, bool is_fatal) |
Send error to client.
[in,out] | thd | server session THD |
[in] | err_cmd | error response command |
[in] | is_fatal | if fatal error |
int(* s_mysql_clone_protocol::mysql_clone_send_response) (THD *thd, bool secure, unsigned char *packet, size_t length) |
Send response to client.
[in,out] | thd | server session THD |
[in] | secure | needs to be sent over secure connection |
[in] | packet | response packet |
[in] | length | packet length |
void(* s_mysql_clone_protocol::mysql_clone_start_statement) (THD *&thd, unsigned int thread_key, unsigned int statement_key) |
Start and set session and statement key form current thread.
[in,out] | thd | server session THD |
[in] | thread_key | PSI key for thread |
[in] | statement_key | PSI Key for statement |
int(* s_mysql_clone_protocol::mysql_clone_validate_charsets) (THD *thd, Mysql_Clone_Values &char_sets) |
Check if all characters sets are supported by server.
[in,out] | thd | server session THD |
[in] | char_sets | all character set collations to validate |
int(* s_mysql_clone_protocol::mysql_clone_validate_configs) (THD *thd, Mysql_Clone_Key_Values &configs) |
Check if configuration parameter values match.
[in,out] | thd | server session THD |
[in] | configs | a list of configuration key value pair |