![]() |
MySQL 8.0.43
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 |