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::Operation Class Referenceabstract

#include <change.h>

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

Public Member Functions

 Operation (std::shared_ptr< Operation > parent, std::shared_ptr< Table > table, const ObjectRowOwnership &row_ownership)
 
 Operation (std::shared_ptr< Operation > parent, std::shared_ptr< Table > table, const PrimaryKeyColumnValues &pk, const ObjectRowOwnership &row_ownership)
 
virtual const PrimaryKeyColumnValuesprimary_key () const
 
virtual void run (MySQLSession *session)=0
 
const std::shared_ptr< Table > & table () const
 
std::shared_ptr< Operationparent () const
 
bool is_root () const
 
size_t affected () const
 
virtual void process (JSONInputObject input)
 
virtual void on_parent_pk_resolved (const PrimaryKeyColumnValues &)
 
virtual void append_match_condition (mysqlrouter::sqlstring &sql) const
 
- Public Member Functions inherited from mrs::database::QueryRaw
virtual ~QueryRaw ()=default
 
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)
 

Public Attributes

std::weak_ptr< Operationparent_
 
std::shared_ptr< Tabletable_
 
const ObjectRowOwnershiprow_ownership_
 
- Public Attributes inherited from mrs::database::QueryRaw
mysqlrouter::sqlstring query_
 
std::optional< std::string > sqlstate_
 
MYSQL_FIELDmetadata_ {nullptr}
 
unsigned num_of_metadata_ {0}
 

Protected Member Functions

virtual void on_value (const Column &, const JSONInputObject::MemberReference &)
 
virtual void on_no_value (const Column &, const JSONInputObject::MemberReference &)
 
virtual void process_to_many (const ForeignKeyReference &ref, JSONInputArray input)=0
 
virtual void process_to_one (const ForeignKeyReference &ref, JSONInputObject input)=0
 
bool add_row_owner_check (mysqlrouter::sqlstring *sql, bool qualify_table) const
 
mysqlrouter::sqlstring join_to_parent (std::vector< std::shared_ptr< JsonMappingUpdater::Operation > > *parents) const
 
void execute (MySQLSession *session) override
 

Protected Attributes

size_t affected_ = 0
 
PrimaryKeyColumnValues pk_
 

Additional Inherited Members

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

Constructor & Destructor Documentation

◆ Operation() [1/2]

mrs::database::dv::JsonMappingUpdater::Operation::Operation ( std::shared_ptr< Operation parent,
std::shared_ptr< Table table,
const ObjectRowOwnership row_ownership 
)
inline

◆ Operation() [2/2]

mrs::database::dv::JsonMappingUpdater::Operation::Operation ( std::shared_ptr< Operation parent,
std::shared_ptr< Table table,
const PrimaryKeyColumnValues pk,
const ObjectRowOwnership row_ownership 
)
inline

Member Function Documentation

◆ add_row_owner_check()

bool mrs::database::dv::JsonMappingUpdater::Operation::add_row_owner_check ( mysqlrouter::sqlstring sql,
bool  qualify_table 
) const
inlineprotected

◆ affected()

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

◆ append_match_condition()

void mrs::database::dv::JsonMappingUpdater::Operation::append_match_condition ( mysqlrouter::sqlstring sql) const
virtual

◆ execute()

void mrs::database::dv::JsonMappingUpdater::Operation::execute ( MySQLSession session)
inlineoverrideprotectedvirtual

Reimplemented from mrs::database::QueryRaw.

◆ is_root()

bool mrs::database::dv::JsonMappingUpdater::Operation::is_root ( ) const
inline

◆ join_to_parent()

mysqlrouter::sqlstring mrs::database::dv::JsonMappingUpdater::Operation::join_to_parent ( std::vector< std::shared_ptr< JsonMappingUpdater::Operation > > *  parents) const
protected

◆ on_no_value()

virtual void mrs::database::dv::JsonMappingUpdater::Operation::on_no_value ( const Column ,
const JSONInputObject::MemberReference  
)
inlineprotectedvirtual

◆ on_parent_pk_resolved()

virtual void mrs::database::dv::JsonMappingUpdater::Operation::on_parent_pk_resolved ( const PrimaryKeyColumnValues )
inlinevirtual

◆ on_value()

virtual void mrs::database::dv::JsonMappingUpdater::Operation::on_value ( const Column ,
const JSONInputObject::MemberReference  
)
inlineprotectedvirtual

◆ parent()

std::shared_ptr< Operation > mrs::database::dv::JsonMappingUpdater::Operation::parent ( ) const
inline

◆ primary_key()

virtual const PrimaryKeyColumnValues & mrs::database::dv::JsonMappingUpdater::Operation::primary_key ( ) const
inlinevirtual

◆ process()

void mrs::database::dv::JsonMappingUpdater::Operation::process ( JSONInputObject  input)
virtual

◆ process_to_many()

virtual void mrs::database::dv::JsonMappingUpdater::Operation::process_to_many ( const ForeignKeyReference ref,
JSONInputArray  input 
)
protectedpure virtual

◆ process_to_one()

virtual void mrs::database::dv::JsonMappingUpdater::Operation::process_to_one ( const ForeignKeyReference ref,
JSONInputObject  input 
)
protectedpure virtual

◆ run()

virtual void mrs::database::dv::JsonMappingUpdater::Operation::run ( MySQLSession session)
pure virtual

◆ table()

const std::shared_ptr< Table > & mrs::database::dv::JsonMappingUpdater::Operation::table ( ) const
inline

Member Data Documentation

◆ affected_

size_t mrs::database::dv::JsonMappingUpdater::Operation::affected_ = 0
protected

◆ parent_

std::weak_ptr<Operation> mrs::database::dv::JsonMappingUpdater::Operation::parent_

◆ pk_

PrimaryKeyColumnValues mrs::database::dv::JsonMappingUpdater::Operation::pk_
protected

◆ row_ownership_

const ObjectRowOwnership& mrs::database::dv::JsonMappingUpdater::Operation::row_ownership_

◆ table_

std::shared_ptr<Table> mrs::database::dv::JsonMappingUpdater::Operation::table_

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