51#ifdef HAVE_PSI_STATEMENT_INTERFACE
243 void *callbacks_context);
Stores status of the currently executed statement.
Definition: sql_error.h:268
Definition: protocol_callback.h:52
Definition: srv_session.h:380
THD * backup_thd
Definition: srv_session.h:400
Session_backup_and_attach(Srv_session *sess, bool is_in_close_session)
Constructs a session state object.
Definition: srv_session.cc:459
~Session_backup_and_attach()
Destructs the session state object.
Definition: srv_session.cc:493
bool in_close_session
Definition: srv_session.h:401
Srv_session * session
Definition: srv_session.h:398
bool attach_error
Definition: srv_session.h:404
Srv_session * old_session
Definition: srv_session.h:399
Definition: srv_session.h:55
~Srv_session()
Definition: srv_session.cc:832
srv_session_state
Enum for the state of the session.
Definition: srv_session.h:137
@ SRV_SESSION_CLOSED
Definition: srv_session.h:151
@ SRV_SESSION_OPENED
Definition: srv_session.h:139
@ SRV_SESSION_ASSOCIATE
Definition: srv_session.h:147
@ SRV_SESSION_CREATED
Definition: srv_session.h:138
@ SRV_SESSION_DISASSOCIATED
Definition: srv_session.h:149
@ SRV_SESSION_ATTACHED
Definition: srv_session.h:140
@ SRV_SESSION_ASSOCIATED
Definition: srv_session.h:148
@ SRV_SESSION_DETACHED
Definition: srv_session.h:141
static bool module_deinit()
Deinitializes the module.
Definition: srv_session.cc:753
void set_detached()
Changes the state of a session to detached.
Definition: srv_session.cc:1114
int execute_command(enum enum_server_command command, const union COM_DATA *data, const CHARSET_INFO *client_cs, const struct st_command_service_cbs *command_callbacks, enum cs_text_or_binary text_or_binary, void *callbacks_context)
Executes a server command.
Definition: srv_session.cc:1119
bool detach()
Detaches the session from current physical thread.
Definition: srv_session.cc:987
void set_client_port(uint16_t port)
Sets the client port.
Definition: srv_session.cc:1262
Srv_session(srv_session_error_cb err_cb, void *err_cb_ctx)
Constructs a server session.
Definition: srv_session.cc:799
enum_vio_type m_vio_type
Definition: srv_session.h:376
bool close()
Closes the session.
Definition: srv_session.cc:1033
bool is_associated() const
Check if the session state is associated.
Definition: srv_session.cc:1216
bool is_attached() const
Returns if the session is in attached state.
Definition: srv_session.h:221
bool disassociate()
Uninstall the thd pointed by the session object as the current_thd.
Definition: srv_session.cc:1231
bool attach()
Attaches the session to the current physical thread.
Definition: srv_session.cc:913
static void check_for_stale_threads(const st_plugin_int *plugin)
Checks if a plugin has left threads and sessions.
Definition: srv_session.cc:710
static unsigned int thread_count(const void *plugin_name)
Returns the number currently running threads initialized by this class.
Definition: srv_session.cc:1277
LEX_CSTRING get_current_database() const
Returns the current database of a session.
Definition: srv_session.h:284
uint16_t get_client_port() const
Returns the client port.
Definition: srv_session.h:263
THD * get_thd()
Returns the internal THD object.
Definition: srv_session.h:248
bool is_associate() const
Check is the session state is associate.
Definition: srv_session.cc:1212
srv_session_state m_state
Definition: srv_session.h:375
bool set_connection_type(enum_vio_type type)
Sets the connection type.
Definition: srv_session.cc:1198
static bool init_thread(const void *plugin)
Initializes the current physical thread for use with this class.
Definition: srv_session.cc:626
bool open()
Opens a server session.
Definition: srv_session.cc:850
my_thread_id get_session_id() const
Returns the ID of a session.
Definition: srv_session.h:255
static bool module_init()
Initializes the module.
Definition: srv_session.cc:733
const bool m_free_resources
Definition: srv_session.h:378
Diagnostics_area m_da
Definition: srv_session.h:371
static bool is_valid(const Srv_session *session)
Checks if the session is valid.
Definition: srv_session.cc:779
void set_attached(const char *stack)
Sets session's state to attached.
Definition: srv_session.cc:1106
Protocol_callback m_protocol_error
Definition: srv_session.h:373
void set_associate()
Changes the state of a session to associate.
Definition: srv_session.cc:1208
THD * m_thd
Definition: srv_session.h:377
static unsigned int session_count()
Returns the number opened sessions in thread initialized by this class.
Definition: srv_session.cc:1272
static bool is_srv_session_thread()
Check if current physical thread was created to be used with this class.
Definition: srv_session.cc:1284
bool associate()
Installs the thd pointed by the session object as the current_thd.
Definition: srv_session.cc:1220
st_err_protocol_ctx m_err_protocol_ctx
Definition: srv_session.h:372
void set_disassociate()
Changes the state of a session to disassociate.
Definition: srv_session.cc:1210
static void deinit_thread()
Deinitializes the current physical thread for use with session service.
Definition: srv_session.cc:685
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:33
my_thread_id thread_id() const
Definition: sql_class.h:2488
uint16 peer_port
Definition: sql_class.h:1565
const LEX_CSTRING & db() const
Definition: sql_class.h:3890
The handler class is the interface for dynamically loadable storage engines.
Definition: handler.h:4460
A better implementation of the UNIX ctype(3) library.
enum_server_command
A list of all MySQL protocol commands.
Definition: my_command.h:47
Defines various enable/disable and HAVE_ macros related to the performance schema instrumentation sys...
uint32 my_thread_id
Definition: my_thread_local.h:33
static void free_resources()
Definition: mysql_secure_installation.cc:127
Interface of the Protocol_callback class, which is used by the Command service as proxy protocol.
Performance schema instrumentation interface.
required uint64 port
Definition: replication_asynchronous_connection_failover.proto:32
required string type
Definition: replication_group_member_actions.proto:33
Header file for the Command service.
cs_text_or_binary
Definition: service_command.h:388
Header file for the Server session service.
void(* srv_session_error_cb)(void *ctx, unsigned int sql_errno, const char *err_msg)
Definition: service_srv_session_bits.h:42
LEX_CSTRING * plugin_name(st_plugin_int **ref)
Definition: sql_plugin_ref.h:94
PSI_statement_info stmt_info_new_packet
Definition: init_net_server_extension.cc:49
Definition: m_ctype.h:422
Definition: mysql_lex_string.h:39
Statement instrument information.
Definition: psi_statement_bits.h:132
Definition: srv_session.h:299
srv_session_error_cb handler
Definition: srv_session.h:303
st_err_protocol_ctx(srv_session_error_cb h, void *h_ctx)
Definition: srv_session.h:300
void * handler_context
Definition: srv_session.h:304
Definition: service_command.h:327
Definition: sql_plugin_ref.h:44
task_env * stack
Definition: task.cc:891
Definition: com_data.h:111
command
Definition: version_token.cc:279
enum_vio_type
Definition: violite.h:78