MySQL 9.3.0
Source Code Documentation
mrs::database::dv::Check Class Reference

#include <check.h>

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

Public Member Functions

 Check (std::shared_ptr< Check > parent, std::shared_ptr< Table > table, const ObjectRowOwnership &row_ownership, bool for_update, std::shared_ptr< std::set< std::string > > invalid_fields={}, bool unnested=false)
 
 Check (std::shared_ptr< Table > table, const ObjectRowOwnership &row_ownership, bool for_update, std::shared_ptr< std::set< std::string > > invalid_fields={}, bool unnested=false)
 
void run (MySQLSession *) override
 
void process (JSONInputObject input) override
 
void on_value (const Column &column, const JSONInputObject::MemberReference &value) override
 
void on_no_value (const Column &column, const JSONInputObject::MemberReference &) override
 
void process_to_many (const ForeignKeyReference &ref, JSONInputArray input) override
 
void process_to_one (const ForeignKeyReference &ref, JSONInputObject input) override
 
- Public Member Functions inherited from mrs::database::dv::JsonMappingUpdater::Operation
 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
 
const std::shared_ptr< Table > & table () const
 
std::shared_ptr< Operationparent () const
 
bool is_root () const
 
size_t affected () const
 
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)
 

Private Attributes

std::shared_ptr< std::set< std::string > > invalid_fields_
 
bool unnested_ = false
 
bool has_unnested_pk_ = false
 
bool for_update_
 

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
 
- Public Attributes inherited from mrs::database::dv::JsonMappingUpdater::Operation
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 inherited from mrs::database::dv::JsonMappingUpdater::Operation
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 inherited from mrs::database::dv::JsonMappingUpdater::Operation
size_t affected_ = 0
 
PrimaryKeyColumnValues pk_
 

Constructor & Destructor Documentation

◆ Check() [1/2]

mrs::database::dv::Check::Check ( std::shared_ptr< Check parent,
std::shared_ptr< Table table,
const ObjectRowOwnership row_ownership,
bool  for_update,
std::shared_ptr< std::set< std::string > >  invalid_fields = {},
bool  unnested = false 
)
inline

◆ Check() [2/2]

mrs::database::dv::Check::Check ( std::shared_ptr< Table table,
const ObjectRowOwnership row_ownership,
bool  for_update,
std::shared_ptr< std::set< std::string > >  invalid_fields = {},
bool  unnested = false 
)
inline

Member Function Documentation

◆ on_no_value()

void Check::on_no_value ( const Column column,
const JSONInputObject::MemberReference  
)
overridevirtual

◆ on_value()

void Check::on_value ( const Column column,
const JSONInputObject::MemberReference value 
)
overridevirtual

◆ process()

void Check::process ( JSONInputObject  input)
overridevirtual

◆ process_to_many()

void Check::process_to_many ( const ForeignKeyReference ref,
JSONInputArray  input 
)
overridevirtual

◆ process_to_one()

void Check::process_to_one ( const ForeignKeyReference ref,
JSONInputObject  input 
)
overridevirtual

◆ run()

void mrs::database::dv::Check::run ( MySQLSession )
inlineoverridevirtual

Member Data Documentation

◆ for_update_

bool mrs::database::dv::Check::for_update_
private

◆ has_unnested_pk_

bool mrs::database::dv::Check::has_unnested_pk_ = false
private

◆ invalid_fields_

std::shared_ptr<std::set<std::string> > mrs::database::dv::Check::invalid_fields_
private

◆ unnested_

bool mrs::database::dv::Check::unnested_ = false
private

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