MySQL 9.3.0
Source Code Documentation
mrs::json::JsonTemplateNest Class Reference

#include <json_template_nest.h>

Inheritance diagram for mrs::json::JsonTemplateNest:
[legend]

Public Types

using JsonSerializer = helper::json::SerializerToText
 
using ResultRow = mysqlrouter::MySQLSession::ResultRow
 
- Public Types inherited from mrs::database::JsonTemplate
using ResultRow = mysqlrouter::MySQLSession::ResultRow
 
using CustomMetadata = std::map< std::string, std::string >
 

Public Member Functions

 JsonTemplateNest (const bool encode_bigints_as_string=false)
 
void begin_resultset (const std::string &url, const std::string &items_name, const std::vector< helper::Column > &columns) override
 
void begin_resultset_with_limits (uint64_t offset, uint64_t limit, bool is_default_limit, const std::string &url, const std::vector< helper::Column > &columns) override
 
bool push_json_document (const char *document) override
 
bool push_row (const ResultRow &values, const char *ignore_column=nullptr) override
 
void end_resultset (const std::optional< bool > &has_more={}) override
 
void finish (const CustomMetadata &custom_metadata={}) override
 
void begin () override
 
void flush () override
 
std::string get_result () override
 
- Public Member Functions inherited from mrs::database::JsonTemplate
virtual ~JsonTemplate ()=default
 

Protected Member Functions

bool push_row_impl (const ResultRow &values, const char *ignore_column=nullptr)
 

Protected Attributes

std::string url_
 
JsonSerializer serializer_
 
JsonSerializer::Object json_root_
 
JsonSerializer::Array json_root_items_
 
JsonSerializer::Object json_root_items_object_
 
JsonSerializer::Array json_root_items_object_items_
 
uint32_t pushed_documents_ {0}
 
std::vector< helper::Columncolumns_
 
bool encode_bigints_as_string_
 

Additional Inherited Members

- Static Protected Member Functions inherited from mrs::database::JsonTemplate
static bool should_encode_numeric_as_string (enum_field_types field_type)
 

Member Typedef Documentation

◆ JsonSerializer

◆ ResultRow

Constructor & Destructor Documentation

◆ JsonTemplateNest()

mrs::json::JsonTemplateNest::JsonTemplateNest ( const bool  encode_bigints_as_string = false)
explicit

Member Function Documentation

◆ begin()

void mrs::json::JsonTemplateNest::begin ( )
overridevirtual

◆ begin_resultset()

void mrs::json::JsonTemplateNest::begin_resultset ( const std::string &  url,
const std::string &  items_name,
const std::vector< helper::Column > &  columns 
)
overridevirtual

◆ begin_resultset_with_limits()

void mrs::json::JsonTemplateNest::begin_resultset_with_limits ( uint64_t  offset,
uint64_t  limit,
bool  is_default_limit,
const std::string &  url,
const std::vector< helper::Column > &  columns 
)
overridevirtual

◆ end_resultset()

void mrs::json::JsonTemplateNest::end_resultset ( const std::optional< bool > &  has_more = {})
overridevirtual

◆ finish()

void mrs::json::JsonTemplateNest::finish ( const CustomMetadata custom_metadata = {})
overridevirtual

◆ flush()

void mrs::json::JsonTemplateNest::flush ( )
overridevirtual

◆ get_result()

std::string mrs::json::JsonTemplateNest::get_result ( )
overridevirtual

◆ push_json_document()

bool mrs::json::JsonTemplateNest::push_json_document ( const char *  document)
overridevirtual

◆ push_row()

bool mrs::json::JsonTemplateNest::push_row ( const ResultRow values,
const char *  ignore_column = nullptr 
)
overridevirtual

◆ push_row_impl()

bool mrs::json::JsonTemplateNest::push_row_impl ( const ResultRow values,
const char *  ignore_column = nullptr 
)
protected

Member Data Documentation

◆ columns_

std::vector<helper::Column> mrs::json::JsonTemplateNest::columns_
protected

◆ encode_bigints_as_string_

bool mrs::json::JsonTemplateNest::encode_bigints_as_string_
protected

◆ json_root_

JsonSerializer::Object mrs::json::JsonTemplateNest::json_root_
protected

◆ json_root_items_

JsonSerializer::Array mrs::json::JsonTemplateNest::json_root_items_
protected

◆ json_root_items_object_

JsonSerializer::Object mrs::json::JsonTemplateNest::json_root_items_object_
protected

◆ json_root_items_object_items_

JsonSerializer::Array mrs::json::JsonTemplateNest::json_root_items_object_items_
protected

◆ pushed_documents_

uint32_t mrs::json::JsonTemplateNest::pushed_documents_ {0}
protected

◆ serializer_

JsonSerializer mrs::json::JsonTemplateNest::serializer_
protected

◆ url_

std::string mrs::json::JsonTemplateNest::url_
protected

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