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

#include <query_rest_sp.h>

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

Public Member Functions

 QueryRestSP (JsonTemplateFactory *factory=nullptr)
 
virtual void query_entries (collector::CountedMySQLSession *session, const std::string &schema, const std::string &object, const std::string &url, const std::string &ignore_column, const mysqlrouter::sqlstring &values={}, std::vector< MYSQL_BIND > pt={}, const ResultSets &rs={}, const JsonTemplateType type=JsonTemplateType::kObjectNestedOutParameters, mrs::GtidManager *gtid_manager=nullptr)
 
const char * get_sql_state ()
 

Public Attributes

std::string response
 

Protected Member Functions

std::shared_ptr< JsonTemplatecreate_template (JsonTemplateType type)
 
void columns_set (unsigned number, MYSQL_FIELD *fields)
 
void on_row (const ResultRow &r) override
 
void on_metadata (unsigned int number, MYSQL_FIELD *fields) override
 

Protected Attributes

bool items_started_ {0}
 
bool has_out_params_ {false}
 
uint64_t items_in_resultset_
 
uint64_t number_of_resultsets_
 
std::shared_ptr< JsonTemplateresponse_template_
 
std::vector< helper::Columncolumns_
 
std::string columns_items_type_
 
const char * ignore_column_ {nullptr}
 
std::string url_
 
const ResultSetsrs_ {nullptr}
 
uint32_t resultset_ {0}
 
JsonTemplateFactoryfactory_ {nullptr}
 

Private Types

using Row = Query::Row
 
using ResultSets = entry::ResultSets
 
- 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_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

◆ ResultSets

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

◆ Row

Constructor & Destructor Documentation

◆ QueryRestSP()

mrs::database::QueryRestSP::QueryRestSP ( JsonTemplateFactory factory = nullptr)
explicit

Member Function Documentation

◆ columns_set()

void mrs::database::QueryRestSP::columns_set ( unsigned  number,
MYSQL_FIELD fields 
)
protected

◆ create_template()

std::shared_ptr< JsonTemplate > mrs::database::QueryRestSP::create_template ( JsonTemplateType  type)
protected

◆ get_sql_state()

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

◆ on_metadata()

void mrs::database::QueryRestSP::on_metadata ( unsigned int  number,
MYSQL_FIELD fields 
)
overrideprotected

◆ on_row()

void mrs::database::QueryRestSP::on_row ( const ResultRow r)
overrideprotectedvirtual

Reimplemented from mrs::database::QueryRaw.

◆ query_entries()

void mrs::database::QueryRestSP::query_entries ( collector::CountedMySQLSession session,
const std::string &  schema,
const std::string &  object,
const std::string &  url,
const std::string &  ignore_column,
const mysqlrouter::sqlstring values = {},
std::vector< MYSQL_BIND pt = {},
const ResultSets rs = {},
const JsonTemplateType  type = JsonTemplateType::kObjectNestedOutParameters,
mrs::GtidManager gtid_manager = nullptr 
)
virtual

Member Data Documentation

◆ columns_

std::vector<helper::Column> mrs::database::QueryRestSP::columns_
protected

◆ columns_items_type_

std::string mrs::database::QueryRestSP::columns_items_type_
protected

◆ factory_

JsonTemplateFactory* mrs::database::QueryRestSP::factory_ {nullptr}
protected

◆ has_out_params_

bool mrs::database::QueryRestSP::has_out_params_ {false}
protected

◆ ignore_column_

const char* mrs::database::QueryRestSP::ignore_column_ {nullptr}
protected

◆ items_in_resultset_

uint64_t mrs::database::QueryRestSP::items_in_resultset_
protected

◆ items_started_

bool mrs::database::QueryRestSP::items_started_ {0}
protected

◆ number_of_resultsets_

uint64_t mrs::database::QueryRestSP::number_of_resultsets_
protected

◆ response

std::string mrs::database::QueryRestSP::response

◆ response_template_

std::shared_ptr<JsonTemplate> mrs::database::QueryRestSP::response_template_
protected

◆ resultset_

uint32_t mrs::database::QueryRestSP::resultset_ {0}
protected

◆ rs_

const ResultSets* mrs::database::QueryRestSP::rs_ {nullptr}
protected

◆ url_

std::string mrs::database::QueryRestSP::url_
protected

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