MySQL 9.3.0
Source Code Documentation
mrs::database::QueryRestFunction Class Reference

#include <query_rest_function.h>

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

Public Types

using CustomMetadata = std::map< std::string, std::string >
 

Public Member Functions

 QueryRestFunction (bool encode_bigints_as_strings=false)
 
virtual void query_raw (MySQLSession *session, std::shared_ptr< entry::Object > object, const ParametersValues &values={})
 
virtual void query_entries (MySQLSession *session, std::shared_ptr< entry::Object > object, const ParametersValues &values={})
 
virtual void serialize_response (const CustomMetadata &custom_metadata={})
 
const char * get_sql_state ()
 

Public Attributes

std::string response
 
uint64_t items {0}
 
bool store_raw_ {false}
 

Protected Member Functions

void query_entries_impl (MySQLSession *session, std::shared_ptr< entry::Object > object, const ParametersValues &values={})
 
void on_row (const ResultRow &r) override
 
void on_metadata (unsigned int number, MYSQL_FIELD *fields) override
 

Protected Attributes

enum_field_types mysql_type_ {MYSQL_TYPE_NULL}
 
JsonType json_type_ {JsonType::kNull}
 
bool encode_bigints_as_strings_
 
helper::json::SerializerToText serializer_
 
helper::json::SerializerToText::Object json_root_
 

Private Types

using Row = Query::Row
 
using JsonType = helper::JsonType
 
using ParametersValues = std::vector< mysqlrouter::sqlstring >
 
- 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

◆ CustomMetadata

using mrs::database::QueryRestFunction::CustomMetadata = std::map<std::string, std::string>

◆ JsonType

◆ ParametersValues

◆ Row

Constructor & Destructor Documentation

◆ QueryRestFunction()

mrs::database::QueryRestFunction::QueryRestFunction ( bool  encode_bigints_as_strings = false)
inline

Member Function Documentation

◆ get_sql_state()

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

◆ on_metadata()

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

◆ on_row()

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

Reimplemented from mrs::database::QueryRaw.

◆ query_entries()

void mrs::database::QueryRestFunction::query_entries ( MySQLSession session,
std::shared_ptr< entry::Object >  object,
const ParametersValues values = {} 
)
virtual

◆ query_entries_impl()

void mrs::database::QueryRestFunction::query_entries_impl ( MySQLSession session,
std::shared_ptr< entry::Object >  object,
const ParametersValues values = {} 
)
protected

◆ query_raw()

void mrs::database::QueryRestFunction::query_raw ( MySQLSession session,
std::shared_ptr< entry::Object >  object,
const ParametersValues values = {} 
)
virtual

◆ serialize_response()

void mrs::database::QueryRestFunction::serialize_response ( const CustomMetadata custom_metadata = {})
virtual

Member Data Documentation

◆ encode_bigints_as_strings_

bool mrs::database::QueryRestFunction::encode_bigints_as_strings_
protected

◆ items

uint64_t mrs::database::QueryRestFunction::items {0}

◆ json_root_

helper::json::SerializerToText::Object mrs::database::QueryRestFunction::json_root_
protected

◆ json_type_

JsonType mrs::database::QueryRestFunction::json_type_ {JsonType::kNull}
protected

◆ mysql_type_

enum_field_types mrs::database::QueryRestFunction::mysql_type_ {MYSQL_TYPE_NULL}
protected

◆ response

std::string mrs::database::QueryRestFunction::response

◆ serializer_

helper::json::SerializerToText mrs::database::QueryRestFunction::serializer_
protected

◆ store_raw_

bool mrs::database::QueryRestFunction::store_raw_ {false}

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