MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Protocol_local Class Reference
Inheritance diagram for Protocol_local:
Collaboration diagram for Protocol_local:

Public Member Functions

 Protocol_local (THD *thd, Ed_connection *ed_connection)
- Public Member Functions inherited from Protocol
 Protocol (THD *thd_arg)
void init (THD *thd_arg)
bool send_result_set_row (List< Item > *row_items)
bool store (I_List< i_string > *str_list)
bool store (const char *from, const CHARSET_INFO *cs)
Stringstorage_packet ()
void free ()
bool store (int from)
bool store (uint32 from)
bool store (longlong from)
bool store (ulonglong from)
bool store (String *str)
virtual bool prepare_for_send (uint num_columns)
virtual bool flush ()
virtual void end_partial_result_set (THD *thd)
void remove_last_row ()
void end_statement ()

Protected Member Functions

virtual void prepare_for_resend ()
virtual bool write ()
virtual bool store_null ()
virtual bool store_tiny (longlong from)
virtual bool store_short (longlong from)
virtual bool store_long (longlong from)
virtual bool store_longlong (longlong from, bool unsigned_flag)
virtual bool store_decimal (const my_decimal *)
virtual bool store (const char *from, size_t length, const CHARSET_INFO *cs)
virtual bool store (const char *from, size_t length, const CHARSET_INFO *fromcs, const CHARSET_INFO *tocs)
virtual bool store (MYSQL_TIME *time, uint precision)
virtual bool store_date (MYSQL_TIME *time)
virtual bool store_time (MYSQL_TIME *time, uint precision)
virtual bool store (float value, uint32 decimals, String *buffer)
virtual bool store (double value, uint32 decimals, String *buffer)
virtual bool store (Field *field)
virtual bool send_result_set_metadata (List< Item > *list, uint flags)
virtual bool send_out_parameters (List< Item_param > *sp_params)
virtual enum enum_protocol_type type ()
virtual bool send_ok (uint server_status, uint statement_warn_count, ulonglong affected_rows, ulonglong last_insert_id, const char *message)
virtual bool send_eof (uint server_status, uint statement_warn_count)
virtual bool send_error (uint sql_errno, const char *err_msg, const char *sqlstate)
- Protected Member Functions inherited from Protocol
bool net_store_data (const uchar *from, size_t length)
bool net_store_data (const uchar *from, size_t length, const CHARSET_INFO *fromcs, const CHARSET_INFO *tocs)
bool store_string_aux (const char *from, size_t length, const CHARSET_INFO *fromcs, const CHARSET_INFO *tocs)

Additional Inherited Members

- Public Types inherited from Protocol
enum  { SEND_NUM_ROWS = 1, SEND_DEFAULTS = 2, SEND_EOF = 4 }
enum  enum_protocol_type { PROTOCOL_TEXT = 0, PROTOCOL_BINARY = 1, PROTOCOL_LOCAL = 2 }
- Protected Attributes inherited from Protocol
THD * thd
Stringpacket
Stringconvert
uint field_pos
enum enum_field_types * field_types
uint field_count

Detailed Description

Protocol_local: a helper class to intercept the result of the data written to the network.

Definition at line 231 of file sql_prepare.cc.

Member Function Documentation

void Protocol_local::prepare_for_resend ( )
protectedvirtual

Called between two result set rows.

Prepare structures to fill result set rows. Unfortunately, we can't return an error here. If memory allocation fails, we'll have to return an error later. And so is done in methods such as

See Also
store_column().

Implements Protocol.

Definition at line 4322 of file sql_prepare.cc.

bool Protocol_local::send_eof ( uint  server_status,
uint  statement_warn_count 
)
protectedvirtual

Called at the end of a result set. Append a complete result set to the list in Ed_connection.

Don't send anything to the client, but instead finish building of the result set at hand.

Reimplemented from Protocol.

Definition at line 4609 of file sql_prepare.cc.

bool Protocol_local::send_error ( uint  sql_errno,
const char *  err_msg,
const char *  sqlstate 
)
protectedvirtual

Called to send an error to the client at the end of a statement.

Reimplemented from Protocol.

Definition at line 4641 of file sql_prepare.cc.

bool Protocol_local::send_ok ( uint  server_status,
uint  statement_warn_count,
ulonglong  affected_rows,
ulonglong  last_insert_id,
const char *  message 
)
protectedvirtual

Called for statements that don't have a result set, at statement end.

Reimplemented from Protocol.

Definition at line 4589 of file sql_prepare.cc.

bool Protocol_local::send_out_parameters ( List< Item_param > *  sp_params)
protectedvirtual

Normally this is a separate result set with OUT parameters of stored procedures. Currently unsupported for the local version.

Implements Protocol.

Definition at line 4580 of file sql_prepare.cc.

bool Protocol_local::send_result_set_metadata ( List< Item > *  columns,
uint  flags 
)
protectedvirtual

Called to start a new result set.

Reimplemented from Protocol.

Definition at line 4559 of file sql_prepare.cc.

bool Protocol_local::store ( const char *  str,
size_t  length,
const CHARSET_INFO src_cs 
)
protectedvirtual

Convert to cs_results and store a string.

Implements Protocol.

Definition at line 4485 of file sql_prepare.cc.

bool Protocol_local::store ( const char *  str,
size_t  length,
const CHARSET_INFO src_cs,
const CHARSET_INFO dst_cs 
)
protectedvirtual

Store a string.

Implements Protocol.

Definition at line 4497 of file sql_prepare.cc.

bool Protocol_local::store_date ( MYSQL_TIME time)
protectedvirtual

Store MYSQL_TIME (in binary format)

Implements Protocol.

Definition at line 4516 of file sql_prepare.cc.

bool Protocol_local::store_decimal ( const my_decimal value)
protectedvirtual

Store a decimal in string format in a result set column

Implements Protocol.

Definition at line 4468 of file sql_prepare.cc.

bool Protocol_local::store_long ( longlong  value)
protectedvirtual

Store a "long" as is (4 bytes, host order) in a result set column.

Implements Protocol.

Definition at line 4450 of file sql_prepare.cc.

bool Protocol_local::store_longlong ( longlong  value,
bool  unsigned_flag 
)
protectedvirtual

Store a "longlong" as is (8 bytes, host order) in a result set column.

Implements Protocol.

Definition at line 4459 of file sql_prepare.cc.

bool Protocol_local::store_null ( )
protectedvirtual

Add a NULL column to the current row.

Implements Protocol.

Definition at line 4366 of file sql_prepare.cc.

bool Protocol_local::store_short ( longlong  value)
protectedvirtual

Store a short as is (2 bytes, host order) in a result set column.

Implements Protocol.

Definition at line 4441 of file sql_prepare.cc.

bool Protocol_local::store_time ( MYSQL_TIME time,
uint  precision 
)
protectedvirtual

Store MYSQL_TIME (in binary format)

Implements Protocol.

Definition at line 4524 of file sql_prepare.cc.

bool Protocol_local::store_tiny ( longlong  value)
protectedvirtual

Store a tiny int as is (1 byte) in a result set column.

Implements Protocol.

Definition at line 4432 of file sql_prepare.cc.

bool Protocol_local::write ( )
protectedvirtual

In "real" protocols this is called to finish a result set row. Unused in the local implementation.

Reimplemented from Protocol.

Definition at line 4339 of file sql_prepare.cc.


The documentation for this class was generated from the following file: