23#ifndef PROTOCOL_CALLBACK_INCLUDED
24#define PROTOCOL_CALLBACK_INCLUDED
274 int shutdown(
bool server_shutdown =
false)
override;
362 ulonglong last_insert_id,
const char *message)
override;
390 const char *sql_state)
override;
393 ulong cond_count)
override;
396 bool is_sql_prepare)
override;
397 bool flush()
override;
Dynamic parameters used as placeholders ('?') inside prepared statements.
Definition: item.h:4512
Definition: sql_list.h:433
Definition: protocol_callback.h:51
bool store_date(const MYSQL_TIME &time) override
Sends DATE value.
Definition: protocol_callback.cc:153
bool connection_alive() const override
This function always returns true as in many places in the server this is a prerequisite for continui...
Definition: protocol_callback.cc:278
enum enum_vio_type connection_type() const override
Returns the type of the connection.
Definition: protocol_callback.cc:82
Protocol_callback(const struct st_command_service_cbs *cbs, enum cs_text_or_binary t_or_b, void *cbs_ctx)
Definition: protocol_callback.h:53
int read_packet() override
Forces read of packet from the connection.
Definition: protocol_callback.cc:63
bool client_capabilities_set
Definition: protocol_callback.h:422
ulong get_client_capabilities() override
Returns the capabilities supported by the protocol.
Definition: protocol_callback.cc:180
bool send_error(uint sql_errno, const char *err_msg, const char *sql_state) override
Sends error.
Definition: protocol_callback.cc:422
bool store_double(double from, uint32 decimals, uint32) override
Sends DOUBLE value.
Definition: protocol_callback.cc:141
bool set_variables_from_parameters(List< Item_param > *parameters)
Set output parameters to variables bound at PS execution.
Definition: protocol_callback.cc:499
int get_command(COM_DATA *com_data, enum_server_command *cmd) override
Reads from the line and parses the data into union COM_DATA.
Definition: protocol_callback.cc:72
bool send_field_metadata(Send_field *field, const CHARSET_INFO *cs) override
Sends metadata of one field.
Definition: protocol_callback.cc:342
bool store_field(const Field *field) override
Sends Field.
Definition: protocol_callback.cc:164
bool get_compression() override
Checks if compression is enabled.
Definition: protocol_callback.cc:301
bool store_time(const MYSQL_TIME &time, uint precision) override
Sends TIME value.
Definition: protocol_callback.cc:158
bool send_ok(uint server_status, uint warn_count, ulonglong affected_rows, ulonglong last_insert_id, const char *message) override
Sends OK.
Definition: protocol_callback.cc:390
char * get_compression_algorithm() override
Checks if compression is enabled and return compression method name.
Definition: protocol_callback.cc:309
bool end_result_metadata() override
Called AFTER sending metadata.
Definition: protocol_callback.cc:370
bool send_parameters(List< Item_param > *parameters, bool is_sql_prepare) override
Sends the OUT-parameters to the client.
Definition: protocol_callback.cc:451
int shutdown(bool server_shutdown=false) override
Called when the server shuts down the connection (THD is being destroyed).
Definition: protocol_callback.cc:259
void start_row() override
Called BEFORE sending data row or before field_metadata.
Definition: protocol_callback.cc:196
uint get_rw_status() override
Should return protocol's reading/writing status.
Definition: protocol_callback.cc:293
bool send_eof(uint server_status, uint warn_count) override
Sends end of file.
Definition: protocol_callback.cc:408
struct st_command_service_cbs callbacks
Definition: protocol_callback.h:420
bool end_row() override
Called AFTER sending data row or before field_metadata.
Definition: protocol_callback.cc:224
bool start_result_metadata(uint num_cols, uint flags, const CHARSET_INFO *resultcs) override
Called BEFORE sending metadata.
Definition: protocol_callback.cc:326
bool store_longlong(longlong from, bool is_unsigned, uint32) override
Sends BIGINT value.
Definition: protocol_callback.cc:107
enum enum_protocol_type type() const override
Returns the type of the protocol.
Definition: protocol_callback.h:84
uint get_compression_level() override
Checks if compression is enabled and return compression level.
Definition: protocol_callback.cc:317
bool store_datetime(const MYSQL_TIME &time, uint precision) override
Sends DATETIME value.
Definition: protocol_callback.cc:147
bool store_null() override
Sends null value.
Definition: protocol_callback.cc:86
void abort_row() override
Called when a row is aborted.
Definition: protocol_callback.cc:234
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.
Definition: protocol_callback.cc:429
unsigned long client_capabilities
Definition: protocol_callback.h:421
void * callbacks_ctx
Definition: protocol_callback.h:419
bool store_string(const char *from, size_t length, const CHARSET_INFO *fromcs) override
Sends string (CHAR/VARCHAR/TEXT/BLOB) value.
Definition: protocol_callback.cc:128
bool store_float(float from, uint32 decimals, uint32) override
Sends FLOAT value.
Definition: protocol_callback.cc:135
bool in_meta_sending
Definition: protocol_callback.h:424
bool flush() override
Used for the classic protocol.
Definition: protocol_callback.cc:399
bool store_short(longlong from, uint32) override
Sends SMALLINT value.
Definition: protocol_callback.cc:97
enum cs_text_or_binary text_or_binary
Definition: protocol_callback.h:423
void end_partial_result_set() override
Called in case of error while sending data.
Definition: protocol_callback.cc:241
bool store_long(longlong from, uint32) override
Sends INT/INTEGER value.
Definition: protocol_callback.cc:102
bool store_decimal(const my_decimal *d, uint, uint) override
Sends DECIMAL value.
Definition: protocol_callback.cc:123
bool has_client_capability(unsigned long capability) override
Checks if the protocol supports a capability.
Definition: protocol_callback.cc:188
bool store_tiny(longlong from, uint32) override
Sends TINYINT value.
Definition: protocol_callback.cc:92
Definition: protocol.h:32
virtual bool store_short(longlong from, uint32 zerofill)=0
virtual bool store_long(longlong from, uint32 zerofill)=0
enum_protocol_type
Enum used by type() to specify the protocol type.
Definition: protocol.h:98
@ PROTOCOL_PLUGIN
Definition: protocol.h:104
Using this class is fraught with peril, and you need to be very careful when doing so.
Definition: sql_string.h:166
my_decimal class limits 'decimal_t' type to what we need in MySQL.
Definition: my_decimal.h:93
static int flags[50]
Definition: hp_test1.cc:39
A better implementation of the UNIX ctype(3) library.
enum_server_command
A list of all MySQL protocol commands.
Definition: my_command.h:47
Some integer typedefs for easier portability.
unsigned long long int ulonglong
Definition: my_inttypes.h:55
long long int longlong
Definition: my_inttypes.h:54
uint32_t uint32
Definition: my_inttypes.h:66
Time declarations shared between the server and client API: you should not add anything to this heade...
constexpr value_type is_unsigned
Definition: classic_protocol_constants.h:270
Definition: commit_order_queue.h:33
bool length(const dd::Spatial_reference_system *srs, const Geometry *g1, double *length, bool *null) noexcept
Computes the length of linestrings and multilinestrings.
Definition: length.cc:75
Header file for the Command service.
cs_text_or_binary
Definition: service_command.h:388
Definition: m_ctype.h:382
Definition: mysql_time.h:81
Definition: service_command.h:327
unsigned int uint
Definition: uca-dump.cc:29
Definition: com_data.h:111
enum_vio_type
Definition: violite.h:78