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

#include <json_template.h>

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

Public Types

using ResultRow = mysqlrouter::MySQLSession::ResultRow
 
using CustomMetadata = std::map< std::string, std::string >
 

Public Member Functions

virtual ~JsonTemplate ()=default
 
virtual void begin_resultset (const std::string &url, const std::string &items_name, const std::vector< helper::Column > &columns)=0
 
virtual 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)=0
 
virtual bool push_json_document (const char *document)=0
 
virtual bool push_row (const ResultRow &values, const char *ignore_column=nullptr)=0
 
virtual void end_resultset (const std::optional< bool > &has_more={})=0
 
virtual void begin ()=0
 
virtual void finish (const CustomMetadata &custom_metadata={})=0
 
virtual void flush ()=0
 
virtual std::string get_result ()=0
 

Static Protected Member Functions

static bool should_encode_numeric_as_string (enum_field_types field_type)
 

Member Typedef Documentation

◆ CustomMetadata

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

◆ ResultRow

Constructor & Destructor Documentation

◆ ~JsonTemplate()

virtual mrs::database::JsonTemplate::~JsonTemplate ( )
virtualdefault

Member Function Documentation

◆ begin()

virtual void mrs::database::JsonTemplate::begin ( )
pure virtual

◆ begin_resultset()

virtual void mrs::database::JsonTemplate::begin_resultset ( const std::string &  url,
const std::string &  items_name,
const std::vector< helper::Column > &  columns 
)
pure virtual

◆ begin_resultset_with_limits()

virtual void mrs::database::JsonTemplate::begin_resultset_with_limits ( uint64_t  offset,
uint64_t  limit,
bool  is_default_limit,
const std::string &  url,
const std::vector< helper::Column > &  columns 
)
pure virtual

◆ end_resultset()

virtual void mrs::database::JsonTemplate::end_resultset ( const std::optional< bool > &  has_more = {})
pure virtual

◆ finish()

virtual void mrs::database::JsonTemplate::finish ( const CustomMetadata custom_metadata = {})
pure virtual

◆ flush()

virtual void mrs::database::JsonTemplate::flush ( )
pure virtual

◆ get_result()

virtual std::string mrs::database::JsonTemplate::get_result ( )
pure virtual

◆ push_json_document()

virtual bool mrs::database::JsonTemplate::push_json_document ( const char *  document)
pure virtual

◆ push_row()

virtual bool mrs::database::JsonTemplate::push_row ( const ResultRow values,
const char *  ignore_column = nullptr 
)
pure virtual

◆ should_encode_numeric_as_string()

static bool mrs::database::JsonTemplate::should_encode_numeric_as_string ( enum_field_types  field_type)
inlinestaticprotected

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