MySQL 8.4.3
Source Code Documentation
|
Class used for the old (MySQL 4.0 protocol). More...
#include <protocol_classic.h>
Public Member Functions | |
Protocol_text ()=default | |
Protocol_text (THD *thd_arg) | |
bool | store_null () override |
bool | store_tiny (longlong from, uint32 zerofill) override |
bool | store_short (longlong from, uint32 zerofill) override |
bool | store_long (longlong from, uint32 zerofill) override |
bool | store_longlong (longlong from, bool unsigned_flag, uint32 zerofill) override |
bool | store_decimal (const my_decimal *, uint, uint) final |
bool | store_float (float nr, uint32 decimals, uint32 zerofill) override |
bool | store_double (double from, uint32 decimals, uint32 zerofill) override |
bool | store_datetime (const MYSQL_TIME &time, uint precision) override |
bool | store_date (const MYSQL_TIME &time) override |
bool | store_time (const MYSQL_TIME &time, uint precision) override |
void | start_row () override |
Result set sending functions. More... | |
bool | send_parameters (List< Item_param > *parameters, bool) override |
Sets OUT-parameters to user variables. More... | |
enum enum_protocol_type | type () const override |
Public Member Functions inherited from Protocol_classic | |
Protocol_classic () | |
Protocol_classic (THD *thd) | |
void | init (THD *thd_arg) |
bool | store_field (const Field *field) final |
bool | store_string (const char *from, size_t length, const CHARSET_INFO *cs) final |
int | read_packet () override |
Read packet from client. More... | |
int | get_command (COM_DATA *com_data, enum_server_command *cmd) override |
Reads the command from the protocol and creates a command. More... | |
bool | create_command (COM_DATA *com_data, enum_server_command cmd, uchar *pkt, size_t length) |
Parses the passed parameters and creates a command. More... | |
bool | flush () override |
Used for the classic protocol. More... | |
void | end_partial_result_set () override |
Finish the result set with EOF packet, as is expected by the client, if there is an error evaluating the next row and a continue handler for the error. More... | |
bool | end_row () override |
uint | get_rw_status () override |
Returns the read/writing status. More... | |
bool | get_compression () override |
Returns if the protocol is compressed or not. More... | |
char * | get_compression_algorithm () override |
Returns compression algorithm name. More... | |
uint | get_compression_level () override |
Returns compression level. More... | |
bool | start_result_metadata (uint num_cols, uint flags, const CHARSET_INFO *resultcs) override |
Prepares the server for metadata sending. More... | |
bool | end_result_metadata () override |
Signals the client that the metadata sending is done. More... | |
bool | send_field_metadata (Send_field *field, const CHARSET_INFO *item_charset) override |
Sends a single column metadata. More... | |
void | abort_row () override |
enum enum_vio_type | connection_type () const override |
Returns the type of the connection. More... | |
my_socket | get_socket () |
bool | init_net (Vio *vio) |
void | claim_memory_ownership (bool claim) |
void | end_net () |
bool | write (const uchar *ptr, size_t len) |
uchar | get_error () |
void | set_max_packet_size (ulong max_packet_size) |
int | shutdown (bool server_shutdown=false) override |
Thread is being shut down, disconnect and free resources. More... | |
void | wipe_net () |
bool | connection_alive () const override |
Checks if the protocol's connection with the client is still alive. More... | |
ulong | get_client_capabilities () override |
Returns the client capabilities stored on the protocol. More... | |
void | set_client_capabilities (ulong client_capabilities) |
void | add_client_capability (ulong client_capability) |
void | remove_client_capability (unsigned long capability) |
bool | has_client_capability (unsigned long client_capability) override |
Checks if the client capabilities include the one specified as parameter. More... | |
NET * | get_net () |
Vio * | get_vio () |
const Vio * | get_vio () const |
void | set_vio (Vio *vio) |
void | set_output_pkt_nr (uint pkt_nr) |
uint | get_output_pkt_nr () |
String * | get_output_packet () |
ulong | get_packet_length () |
uchar * | get_raw_packet () |
virtual void | set_read_timeout (ulong read_timeout, bool on_full_packet=false) |
virtual void | set_write_timeout (ulong write_timeout) |
void | set_result_character_set (const CHARSET_INFO *charset) |
Sets the character set expected by the client. More... | |
Public Member Functions inherited from Protocol | |
virtual | ~Protocol ()=default |
Protocol * | pop_protocol () |
Remove the reference to the previous protocol and return it. More... | |
void | push_protocol (Protocol *protocol) |
Set reference to "this" as the previous protocol on the protocol provided as argument. More... | |
bool | store (int from) |
bool | store (uint32 from) |
bool | store (longlong from) |
bool | store (ulonglong from) |
bool | store_tiny (longlong from) |
bool | store_short (longlong from) |
bool | store_long (longlong from) |
bool | store_longlong (longlong from, bool unsigned_flag) |
bool | store (const char *from, const CHARSET_INFO *fromcs) |
Send \0 end terminated string. More... | |
bool | store (String *str) |
bool | store (const LEX_STRING &s, const CHARSET_INFO *cs) |
Additional Inherited Members | |
Public Types inherited from Protocol | |
enum | enum_protocol_type { PROTOCOL_TEXT = 0 , PROTOCOL_BINARY = 1 , PROTOCOL_LOCAL = 2 , PROTOCOL_ERROR = 3 , PROTOCOL_PLUGIN = 4 } |
Enum used by type() to specify the protocol type. More... | |
enum | { SEND_NUM_ROWS = 1 , SEND_DEFAULTS = 2 , SEND_EOF = 4 } |
Flags available to alter the way the messages are sent to the client. More... | |
using | Type = BaseProtocol::Type |
Static Public Member Functions inherited from Protocol | |
static Type | get_default () |
static Type | get_by_name (const std::string &name) |
Returns type of the protocol by its name. More... | |
static std::string | to_string (const Type &type) |
static uint16_t | get_default_port (Type type) |
Returns default port for the selected protocol. More... | |
Public Attributes inherited from Protocol_classic | |
bool | bad_packet |
Protected Member Functions inherited from Protocol_classic | |
bool | send_ok (uint server_status, uint statement_warn_count, ulonglong affected_rows, ulonglong last_insert_id, const char *message) override |
A default implementation of "OK" packet response to the client. More... | |
bool | send_eof (uint server_status, uint statement_warn_count) override |
A default implementation of "EOF" packet response to the client. More... | |
bool | send_error (uint sql_errno, const char *err_msg, const char *sql_state) override |
A default implementation of "ERROR" packet response to the client. More... | |
bool | store_ps_status (ulong stmt_id, uint column_count, uint param_count, ulong cond_count) override |
Sends prepared statement's id and metadata to the client after prepare. More... | |
Protected Attributes inherited from Protocol_classic | |
THD * | m_thd |
String * | packet |
String | convert |
uint | field_pos |
bool | send_metadata |
enum enum_field_types * | field_types |
uint | count |
uint | field_count |
uint | sending_flags |
ulong | input_packet_length |
uchar * | input_raw_packet |
const CHARSET_INFO * | result_cs |
Class used for the old (MySQL 4.0 protocol).
|
default |
|
inline |
|
overridevirtual |
Sets OUT-parameters to user variables.
parameters | List of PS/SP parameters (both input and output). |
false | Success. |
true | Error. |
Implements Protocol.
Reimplemented in Protocol_binary.
|
overridevirtual |
Result set sending functions.
Server uses following schema to send result: ... sending metadata ... | start_result_metadata(...) | start_row() | send_field_metadata(...) | end_row() ... same for each field sent ... | end_result_metadata(...) | ... sending result ... | start_row(...) | store_xxx(...) ... store_xxx(..) is called for each field ... | end_row(...) ... same for each row, until all rows are sent ... | send_ok/eof/error(...) However, a protocol implementation might use different schema. For example, Protocol_callback ignores start/end_row when metadata is being sent.
Implements Protocol.
Reimplemented in Protocol_binary.
|
overridevirtual |
Implements Protocol.
Reimplemented in Protocol_binary.
|
overridevirtual |
Implements Protocol.
Reimplemented in Protocol_binary.
|
finalvirtual |
Implements Protocol.
Reimplemented in Protocol_binary.
Implements Protocol.
Reimplemented in Protocol_binary.
Implements Protocol.
Reimplemented in Protocol_binary.
Implements Protocol.
Reimplemented in Protocol_binary.
|
overridevirtual |
Implements Protocol.
Reimplemented in Protocol_binary.
|
overridevirtual |
Implements Protocol.
Reimplemented in Protocol_binary.
Implements Protocol.
Reimplemented in Protocol_binary.
|
overridevirtual |
Implements Protocol.
Reimplemented in Protocol_binary.
Implements Protocol.
Reimplemented in Protocol_binary.
|
inlineoverridevirtual |
Implements Protocol.
Reimplemented in Protocol_binary.