MySQL 8.4.0
Source Code Documentation
QuerySender Class Reference

#include <classic_query_sender.h>

Inheritance diagram for QuerySender:
[legend]

Classes

class  Handler
 

Public Types

enum class  Stage {
  Command , Response , ColumnCount , Column ,
  ColumnEnd , RowOrEnd , Row , RowEnd ,
  LoadData , Data , Ok , Error ,
  Done
}
 
- Public Types inherited from BasicProcessor
enum class  Result {
  Again , RecvFromClient , SendToClient , RecvFromServer ,
  RecvFromBoth , SendToServer , SendableToServer , Suspend ,
  Done , Void
}
 

Public Member Functions

 QuerySender (MysqlRoutingClassicConnectionBase *conn, std::string stmt)
 
 QuerySender (MysqlRoutingClassicConnectionBase *conn, std::string stmt, std::unique_ptr< Handler > handler)
 
stdx::expected< Result, std::error_code > process () override
 
void stage (Stage stage)
 
Stage stage () const
 
- Public Member Functions inherited from Processor
 BasicProcessor (MysqlRoutingClassicConnectionBase *conn)
 
- Public Member Functions inherited from BasicProcessor
 BasicProcessor (MysqlRoutingClassicConnectionBase *conn)
 
virtual ~BasicProcessor ()=default
 
const MysqlRoutingClassicConnectionBaseconnection () const
 
MysqlRoutingClassicConnectionBaseconnection ()
 

Private Member Functions

stdx::expected< Result, std::error_code > command ()
 
stdx::expected< Result, std::error_code > response ()
 
stdx::expected< Result, std::error_code > load_data ()
 
stdx::expected< Result, std::error_code > data ()
 
stdx::expected< Result, std::error_code > column_count ()
 
stdx::expected< Result, std::error_code > column ()
 
stdx::expected< Result, std::error_code > column_end ()
 
stdx::expected< Result, std::error_code > row_or_end ()
 
stdx::expected< Result, std::error_code > row ()
 
stdx::expected< Result, std::error_code > row_end ()
 
stdx::expected< Result, std::error_code > ok ()
 
stdx::expected< Result, std::error_code > error ()
 
stdx::expected< void, std::error_code > track_session_changes (net::const_buffer session_trackers, classic_protocol::capabilities::value_type caps)
 

Private Attributes

Stage stage_ {Stage::Command}
 
std::string stmt_
 
uint64_t columns_left_ {0}
 
std::unique_ptr< Handlerhandler_
 

Additional Inherited Members

- Protected Member Functions inherited from Processor
stdx::expected< Result, std::error_code > send_server_failed (std::error_code ec)
 
stdx::expected< Result, std::error_code > recv_server_failed (std::error_code ec)
 
stdx::expected< Result, std::error_code > send_client_failed (std::error_code ec)
 
stdx::expected< Result, std::error_code > recv_client_failed (std::error_code ec)
 
stdx::expected< Result, std::error_code > server_socket_failed (std::error_code ec)
 
stdx::expected< Result, std::error_code > client_socket_failed (std::error_code ec)
 
stdx::expected< void, std::error_code > discard_current_msg (Channel &src_channel, ClassicProtocolState &src_protocol)
 discard to current message. More...
 
template<class Proto >
stdx::expected< void, std::error_code > discard_current_msg (TlsSwitchableConnection< Proto > &conn)
 
void trace (Tracer::Event e)
 
Tracertracer ()
 
TraceEventtrace_span (TraceEvent *parent_span, const std::string_view &prefix)
 start a span. More...
 
void trace_span_end (TraceEvent *event, TraceEvent::StatusCode status_code=TraceEvent::StatusCode::kUnset)
 end a span and set a status-code. More...
 
TraceEventtrace_command (const std::string_view &prefix)
 start a command span. More...
 
TraceEventtrace_connect_and_forward_command (TraceEvent *parent_span)
 start a connect-and-forward span. More...
 
TraceEventtrace_connect (TraceEvent *parent_span)
 start a connect span. More...
 
void trace_set_connection_attributes (TraceEvent *ev)
 start a connect span. More...
 
TraceEventtrace_forward_command (TraceEvent *parent_span)
 start a forward span. More...
 
void trace_command_end (TraceEvent *event, TraceEvent::StatusCode status_code=TraceEvent::StatusCode::kUnset)
 end a command span and set a status-code. More...
 
- Static Protected Member Functions inherited from Processor
static void log_fatal_error_code (const char *msg, std::error_code ec)
 log a message with error-code as error. More...
 

Member Enumeration Documentation

◆ Stage

enum class QuerySender::Stage
strong
Enumerator
Command 
Response 
ColumnCount 
Column 
ColumnEnd 
RowOrEnd 
Row 
RowEnd 
LoadData 
Data 
Ok 
Error 
Done 

Constructor & Destructor Documentation

◆ QuerySender() [1/2]

QuerySender::QuerySender ( MysqlRoutingClassicConnectionBase conn,
std::string  stmt 
)
inline

◆ QuerySender() [2/2]

QuerySender::QuerySender ( MysqlRoutingClassicConnectionBase conn,
std::string  stmt,
std::unique_ptr< Handler handler 
)
inline

Member Function Documentation

◆ column()

stdx::expected< Processor::Result, std::error_code > QuerySender::column ( )
private

◆ column_count()

stdx::expected< Processor::Result, std::error_code > QuerySender::column_count ( )
private

◆ column_end()

stdx::expected< Processor::Result, std::error_code > QuerySender::column_end ( )
private

◆ command()

stdx::expected< Processor::Result, std::error_code > QuerySender::command ( )
private

◆ data()

stdx::expected< Processor::Result, std::error_code > QuerySender::data ( )
private

◆ error()

stdx::expected< Processor::Result, std::error_code > QuerySender::error ( )
private

◆ load_data()

stdx::expected< Processor::Result, std::error_code > QuerySender::load_data ( )
private

◆ ok()

stdx::expected< Processor::Result, std::error_code > QuerySender::ok ( )
private

◆ process()

stdx::expected< Processor::Result, std::error_code > QuerySender::process ( )
overridevirtual

Implements BasicProcessor.

◆ response()

stdx::expected< Processor::Result, std::error_code > QuerySender::response ( )
private

◆ row()

stdx::expected< Processor::Result, std::error_code > QuerySender::row ( )
private

◆ row_end()

stdx::expected< Processor::Result, std::error_code > QuerySender::row_end ( )
private

◆ row_or_end()

stdx::expected< Processor::Result, std::error_code > QuerySender::row_or_end ( )
private

◆ stage() [1/2]

Stage QuerySender::stage ( ) const
inline

◆ stage() [2/2]

void QuerySender::stage ( Stage  stage)
inline

◆ track_session_changes()

stdx::expected< void, std::error_code > QuerySender::track_session_changes ( net::const_buffer  session_trackers,
classic_protocol::capabilities::value_type  caps 
)
private

Member Data Documentation

◆ columns_left_

uint64_t QuerySender::columns_left_ {0}
private

◆ handler_

std::unique_ptr<Handler> QuerySender::handler_
private

◆ stage_

Stage QuerySender::stage_ {Stage::Command}
private

◆ stmt_

std::string QuerySender::stmt_
private

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