MySQL 9.3.0
Source Code Documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
mrs::database::QueryRestMysqlTask Class Reference

#include <query_rest_task.h>

Inheritance diagram for mrs::database::QueryRestMysqlTask:
[legend]

Public Member Functions

 QueryRestMysqlTask (mrs::database::MysqlTaskMonitor *task_monitor)
 
void execute_procedure_at_server (collector::CountedMySQLSession *session, const mysqlrouter::sqlstring &user_id, std::optional< std::string > user_ownership_column, const std::string &schema, const std::string &object, const std::string &url, const MysqlTaskOptions &task_options, const rapidjson::Document &doc, const ResultSets &rs)
 
void execute_procedure_at_router (CachedSession session, const mysqlrouter::sqlstring &user_id, std::optional< std::string > user_ownership_column, const std::string &schema, const std::string &object, const std::string &url, const MysqlTaskOptions &task_options, const rapidjson::Document &doc, const ResultSets &rs)
 
void execute_function_at_server (collector::CountedMySQLSession *session, const mysqlrouter::sqlstring &user_id, std::optional< std::string > user_ownership_column, const std::string &schema, const std::string &object, const std::string &url, const MysqlTaskOptions &task_options, const rapidjson::Document &doc, const ResultSets &rs)
 
void execute_function_at_router (CachedSession session, const mysqlrouter::sqlstring &user_id, std::optional< std::string > user_ownership_column, const std::string &schema, const std::string &object, const std::string &url, const MysqlTaskOptions &task_options, const rapidjson::Document &doc, const ResultSets &rs)
 
const char * get_sql_state ()
 

Static Public Member Functions

static void kill_task (collector::CountedMySQLSession *session, const mysqlrouter::sqlstring &user_id, const std::string &task_id)
 

Public Attributes

uint64_t items
 
std::string response
 

Protected Member Functions

void execute_at_router (CachedSession session, const mysqlrouter::sqlstring &user_id, std::optional< std::string > user_ownership_column, bool is_procedure, const std::string &schema, const std::string &object, const MysqlTaskOptions &task_options, const rapidjson::Document &doc, const ResultSets &rs)
 
void execute_at_server (collector::CountedMySQLSession *session, const mysqlrouter::sqlstring &user_id, std::optional< std::string > user_ownership_column, bool is_procedure, const std::string &schema, const std::string &object, const std::string &url, const MysqlTaskOptions &task_options, const rapidjson::Document &doc, const ResultSets &rs)
 
mysqlrouter::sqlstring build_procedure_call (const std::string &schema, const std::string &object, const mysqlrouter::sqlstring &user_id, std::optional< std::string > user_ownership_column, const ResultSets &rs, const rapidjson::Document &doc, std::list< std::string > *out_preamble, std::list< std::string > *out_postamble)
 
mysqlrouter::sqlstring build_function_call (const std::string &schema, const std::string &object, const mysqlrouter::sqlstring &user_id, std::optional< std::string > user_ownership_column, const ResultSets &rs, const rapidjson::Document &doc, std::list< std::string > *out_postamble)
 
mysqlrouter::sqlstring wrap_async_server_call (const std::string &schema, const mysqlrouter::sqlstring &user_id, const MysqlTaskOptions &task_options, mysqlrouter::sqlstring query, std::list< std::string > preamble, std::list< std::string > postamble)
 

Static Protected Member Functions

static std::list< std::string > on_task_error (const std::exception &e, const std::string &task_id, const std::string &progress_event_name)
 

Protected Attributes

std::string url_
 
mrs::database::MysqlTaskMonitortask_monitor_
 

Private Types

using Row = Query::Row
 
using ResultSets = entry::ResultSets
 
using MysqlTaskOptions = interface::Options::MysqlTask
 
using CachedSession = collector::MysqlCacheManager::CachedObject
 
- Private Types inherited from mrs::database::QueryRaw
using MySQLSession = mysqlrouter::MySQLSession
 
using Row = MySQLSession::Row
 
using ResultRow = MySQLSession::ResultRow
 
using OnResultSetEnd = MySQLSession::OnResultSetEnd
 

Additional Inherited Members

- Private Member Functions inherited from mrs::database::QueryRaw
virtual ~QueryRaw ()=default
 
virtual void execute (MySQLSession *session)
 
virtual void query (MySQLSession *session, const std::string &q)
 
virtual void prepare_and_execute (MySQLSession *session, const std::string &q, std::vector< MYSQL_BIND > pt, const OnResultSetEnd &on_resultset_end)
 
std::unique_ptr< MySQLSession::ResultRowquery_one (MySQLSession *session)
 
std::unique_ptr< MySQLSession::ResultRowquery_one (MySQLSession *session, const std::string &q)
 
virtual void on_row (const ResultRow &r)
 
virtual void on_metadata (unsigned number, MYSQL_FIELD *fields)
 
- Private Attributes inherited from mrs::database::QueryRaw
mysqlrouter::sqlstring query_
 
std::optional< std::string > sqlstate_
 
MYSQL_FIELDmetadata_ {nullptr}
 
unsigned num_of_metadata_ {0}
 

Member Typedef Documentation

◆ CachedSession

◆ MysqlTaskOptions

◆ ResultSets

using mrs::database::QueryRestMysqlTask::ResultSets = entry::ResultSets
private

◆ Row

Constructor & Destructor Documentation

◆ QueryRestMysqlTask()

mrs::database::QueryRestMysqlTask::QueryRestMysqlTask ( mrs::database::MysqlTaskMonitor task_monitor)
explicit

Member Function Documentation

◆ build_function_call()

mysqlrouter::sqlstring mrs::database::QueryRestMysqlTask::build_function_call ( const std::string &  schema,
const std::string &  object,
const mysqlrouter::sqlstring user_id,
std::optional< std::string >  user_ownership_column,
const ResultSets rs,
const rapidjson::Document &  doc,
std::list< std::string > *  out_postamble 
)
protected

◆ build_procedure_call()

mysqlrouter::sqlstring mrs::database::QueryRestMysqlTask::build_procedure_call ( const std::string &  schema,
const std::string &  object,
const mysqlrouter::sqlstring user_id,
std::optional< std::string >  user_ownership_column,
const ResultSets rs,
const rapidjson::Document &  doc,
std::list< std::string > *  out_preamble,
std::list< std::string > *  out_postamble 
)
protected

◆ execute_at_router()

void mrs::database::QueryRestMysqlTask::execute_at_router ( CachedSession  session,
const mysqlrouter::sqlstring user_id,
std::optional< std::string >  user_ownership_column,
bool  is_procedure,
const std::string &  schema,
const std::string &  object,
const MysqlTaskOptions task_options,
const rapidjson::Document &  doc,
const ResultSets rs 
)
protected

◆ execute_at_server()

void mrs::database::QueryRestMysqlTask::execute_at_server ( collector::CountedMySQLSession session,
const mysqlrouter::sqlstring user_id,
std::optional< std::string >  user_ownership_column,
bool  is_procedure,
const std::string &  schema,
const std::string &  object,
const std::string &  url,
const MysqlTaskOptions task_options,
const rapidjson::Document &  doc,
const ResultSets rs 
)
protected

◆ execute_function_at_router()

void mrs::database::QueryRestMysqlTask::execute_function_at_router ( CachedSession  session,
const mysqlrouter::sqlstring user_id,
std::optional< std::string >  user_ownership_column,
const std::string &  schema,
const std::string &  object,
const std::string &  url,
const MysqlTaskOptions task_options,
const rapidjson::Document &  doc,
const ResultSets rs 
)

◆ execute_function_at_server()

void mrs::database::QueryRestMysqlTask::execute_function_at_server ( collector::CountedMySQLSession session,
const mysqlrouter::sqlstring user_id,
std::optional< std::string >  user_ownership_column,
const std::string &  schema,
const std::string &  object,
const std::string &  url,
const MysqlTaskOptions task_options,
const rapidjson::Document &  doc,
const ResultSets rs 
)

◆ execute_procedure_at_router()

void mrs::database::QueryRestMysqlTask::execute_procedure_at_router ( CachedSession  session,
const mysqlrouter::sqlstring user_id,
std::optional< std::string >  user_ownership_column,
const std::string &  schema,
const std::string &  object,
const std::string &  url,
const MysqlTaskOptions task_options,
const rapidjson::Document &  doc,
const ResultSets rs 
)

◆ execute_procedure_at_server()

void mrs::database::QueryRestMysqlTask::execute_procedure_at_server ( collector::CountedMySQLSession session,
const mysqlrouter::sqlstring user_id,
std::optional< std::string >  user_ownership_column,
const std::string &  schema,
const std::string &  object,
const std::string &  url,
const MysqlTaskOptions task_options,
const rapidjson::Document &  doc,
const ResultSets rs 
)

◆ get_sql_state()

const char * mrs::database::QueryRestMysqlTask::get_sql_state ( )

◆ kill_task()

void mrs::database::QueryRestMysqlTask::kill_task ( collector::CountedMySQLSession session,
const mysqlrouter::sqlstring user_id,
const std::string &  task_id 
)
static

◆ on_task_error()

std::list< std::string > mrs::database::QueryRestMysqlTask::on_task_error ( const std::exception &  e,
const std::string &  task_id,
const std::string &  progress_event_name 
)
staticprotected

◆ wrap_async_server_call()

mysqlrouter::sqlstring mrs::database::QueryRestMysqlTask::wrap_async_server_call ( const std::string &  schema,
const mysqlrouter::sqlstring user_id,
const MysqlTaskOptions task_options,
mysqlrouter::sqlstring  query,
std::list< std::string >  preamble,
std::list< std::string >  postamble 
)
protected

Member Data Documentation

◆ items

uint64_t mrs::database::QueryRestMysqlTask::items

◆ response

std::string mrs::database::QueryRestMysqlTask::response

◆ task_monitor_

mrs::database::MysqlTaskMonitor* mrs::database::QueryRestMysqlTask::task_monitor_
protected

◆ url_

std::string mrs::database::QueryRestMysqlTask::url_
protected

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