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

#include <query_rest_table_updater.h>

Inheritance diagram for mrs::database::dv::JsonMappingUpdater:
[legend]

Classes

class  Operation
 

Public Types

using Object = entry::Object
 
- Public Types inherited from mrs::database::QueryRaw
using MySQLSession = mysqlrouter::MySQLSession
 
using Row = MySQLSession::Row
 
using ResultRow = MySQLSession::ResultRow
 
using OnResultSetEnd = MySQLSession::OnResultSetEnd
 

Public Member Functions

 JsonMappingUpdater (std::shared_ptr< Object > view, const ObjectRowOwnership &row_ownership_info={})
 
void check (const rapidjson::Document &doc, bool for_update=false) const
 
PrimaryKeyColumnValues insert (MySQLSession *session, const rapidjson::Document &doc)
 
PrimaryKeyColumnValues update (MySQLSession *session, const PrimaryKeyColumnValues &pk_values, const rapidjson::Document &doc, bool upsert=false)
 
uint64_t delete_ (MySQLSession *session, const PrimaryKeyColumnValues &pk_values)
 
uint64_t delete_ (MySQLSession *session, const FilterObjectGenerator &filter)
 
const ObjectRowOwnershiprow_ownership_info () const
 
size_t affected () const
 
- Public 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 Member Functions

std::string select_one (MySQLSession *session, const PrimaryKeyColumnValues &pk_values, bool &is_owned, RowLockType lock_rows) const
 
void check_etag (const std::string &original_doc, const rapidjson::Document &new_doc) const
 

Private Attributes

std::shared_ptr< Objectview_
 
ObjectRowOwnership m_row_ownership_info
 
size_t m_affected = 0
 

Additional Inherited Members

- Public 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

◆ Object

Constructor & Destructor Documentation

◆ JsonMappingUpdater()

mrs::database::dv::JsonMappingUpdater::JsonMappingUpdater ( std::shared_ptr< Object view,
const ObjectRowOwnership row_ownership_info = {} 
)
explicit

Member Function Documentation

◆ affected()

size_t mrs::database::dv::JsonMappingUpdater::affected ( ) const
inline

◆ check()

void mrs::database::dv::JsonMappingUpdater::check ( const rapidjson::Document &  doc,
bool  for_update = false 
) const

◆ check_etag()

void mrs::database::dv::JsonMappingUpdater::check_etag ( const std::string &  original_doc,
const rapidjson::Document &  new_doc 
) const
private

◆ delete_() [1/2]

uint64_t mrs::database::dv::JsonMappingUpdater::delete_ ( MySQLSession session,
const FilterObjectGenerator filter 
)

◆ delete_() [2/2]

uint64_t mrs::database::dv::JsonMappingUpdater::delete_ ( MySQLSession session,
const PrimaryKeyColumnValues pk_values 
)

◆ insert()

PrimaryKeyColumnValues mrs::database::dv::JsonMappingUpdater::insert ( MySQLSession session,
const rapidjson::Document &  doc 
)

◆ row_ownership_info()

const ObjectRowOwnership & mrs::database::dv::JsonMappingUpdater::row_ownership_info ( ) const
inline

◆ select_one()

std::string mrs::database::dv::JsonMappingUpdater::select_one ( MySQLSession session,
const PrimaryKeyColumnValues pk_values,
bool &  is_owned,
RowLockType  lock_rows 
) const
private

◆ update()

PrimaryKeyColumnValues mrs::database::dv::JsonMappingUpdater::update ( MySQLSession session,
const PrimaryKeyColumnValues pk_values,
const rapidjson::Document &  doc,
bool  upsert = false 
)

Member Data Documentation

◆ m_affected

size_t mrs::database::dv::JsonMappingUpdater::m_affected = 0
private

◆ m_row_ownership_info

ObjectRowOwnership mrs::database::dv::JsonMappingUpdater::m_row_ownership_info
private

◆ view_

std::shared_ptr<Object> mrs::database::dv::JsonMappingUpdater::view_
private

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