MySQL 9.3.0
Source Code Documentation
mrs::database::dv Namespace Reference

Namespaces

namespace  anonymous_namespace{insert.cc}
 
namespace  anonymous_namespace{query_rest_table_updater.cc}
 
namespace  anonymous_namespace{select.cc}
 

Classes

class  AutoIncRowInsert
 
class  Check
 
class  JSONInput
 
class  JSONInputArray
 
class  JSONInputObject
 
class  JsonMappingUpdater
 
class  JsonQueryBuilder
 
class  ObjectFieldFilter
 
class  ReverseUuidRowInsert
 
class  RowChangeOperation
 
class  RowDelete
 
class  RowDeleteBase
 
class  RowDeleteMany
 
class  RowDeleteReferencing
 
class  RowInsert
 
class  RowMergePatch
 
class  RowNoUpdateOrError
 
class  RowNoUpdateOrIgnore
 
class  RowUpdate
 
class  RowUpdateBase
 
class  RowUpdateReferencing
 

Typedefs

using Table = entry::Table
 
using Field = entry::Field
 
using Column = entry::Column
 
using ForeignKeyReference = entry::ForeignKeyReference
 
using MySQLSession = mysqlrouter::MySQLSession
 

Functions

JSONInputObject make_input_object (const JSONInputArray::ValueReference &ref, const std::string &table, const std::string &field="")
 
JSONInputArray make_input_array (const JSONInputObject::MemberReference &ref, const std::string &table, const std::string &field="")
 
JSONInputObject make_input_object (const JSONInputObject::MemberReference &ref, const std::string &table, const std::string &field="")
 
mysqlrouter::sqlstring format_key_names (const Table &table)
 
mysqlrouter::sqlstring format_key (const Table &table, const PrimaryKeyColumnValues &f)
 
mysqlrouter::sqlstring format_where_expr (const Table &table, const std::string &table_name, const PrimaryKeyColumnValues &f, bool omit_row_owner=false)
 
mysqlrouter::sqlstring format_where_expr (const Table &table, const PrimaryKeyColumnValues &f, bool omit_row_owner=false)
 
mysqlrouter::sqlstring format_join_where_expr (const Table &table, const ForeignKeyReference &fk)
 
std::shared_ptr< RowUpdatemake_row_update (std::shared_ptr< JsonMappingUpdater::Operation > parent, std::shared_ptr< Table > table, const PrimaryKeyColumnValues &pk, const ObjectRowOwnership &row_ownership)
 
std::shared_ptr< RowNoUpdateOrIgnoremake_row_no_update_or_ignore (std::shared_ptr< JsonMappingUpdater::Operation > parent, std::shared_ptr< Table > table, const PrimaryKeyColumnValues &pk, const ObjectRowOwnership &row_ownership)
 
std::shared_ptr< RowNoUpdateOrErrormake_row_no_update_or_error (std::shared_ptr< JsonMappingUpdater::Operation > parent, std::shared_ptr< Table > table, const PrimaryKeyColumnValues &pk, const ObjectRowOwnership &row_ownership)
 
mysqlrouter::sqlstring join_sqlstrings (const std::vector< mysqlrouter::sqlstring > &strings, const std::string &sep)
 
PrimaryKeyColumnValues ref_primary_key (const ForeignKeyReference &ref, const rapidjson::Value &value, bool throw_if_missing_or_null)
 
void validate_primary_key_values (const entry::JsonMapping &view, const ObjectRowOwnership &row_ownership, PrimaryKeyColumnValues &pk_values)
 
std::shared_ptr< RowInsert_make_row_insert (std::shared_ptr< JsonMappingUpdater::Operation > parent, std::shared_ptr< Table > table, const ObjectRowOwnership &row_ownership, bool upsert)
 
std::shared_ptr< RowInsertmake_row_insert (std::shared_ptr< JsonMappingUpdater::Operation > parent, std::shared_ptr< Table > table, const ObjectRowOwnership &row_ownership)
 
std::shared_ptr< RowInsertmake_row_upsert (std::shared_ptr< JsonMappingUpdater::Operation > parent, std::shared_ptr< Table > table, const ObjectRowOwnership &row_ownership)
 
static mysqlrouter::sqlstring get_field_format (entry::ColumnType type, bool value_only)
 
static mysqlrouter::sqlstring get_field_format (entry::ColumnType type, const std::string &datatype, bool value_only, bool bigints_as_string)
 
void safe_run (MySQLSession *session, const std::shared_ptr< JsonMappingUpdater::Operation > &op, MySQLSession::Transaction *transaction_started=nullptr)
 

Typedef Documentation

◆ Column

using mrs::database::dv::Column = typedef entry::Column

◆ Field

using mrs::database::dv::Field = typedef entry::Field

◆ ForeignKeyReference

using mrs::database::dv::ForeignKeyReference = typedef entry::ForeignKeyReference

◆ MySQLSession

◆ Table

using mrs::database::dv::Table = typedef entry::Table

Function Documentation

◆ _make_row_insert()

std::shared_ptr< RowInsert > mrs::database::dv::_make_row_insert ( std::shared_ptr< JsonMappingUpdater::Operation parent,
std::shared_ptr< Table table,
const ObjectRowOwnership row_ownership,
bool  upsert 
)

◆ format_join_where_expr()

mysqlrouter::sqlstring mrs::database::dv::format_join_where_expr ( const Table table,
const ForeignKeyReference fk 
)

◆ format_key()

mysqlrouter::sqlstring mrs::database::dv::format_key ( const Table table,
const PrimaryKeyColumnValues f 
)

◆ format_key_names()

mysqlrouter::sqlstring mrs::database::dv::format_key_names ( const Table table)

◆ format_where_expr() [1/2]

mysqlrouter::sqlstring mrs::database::dv::format_where_expr ( const Table table,
const PrimaryKeyColumnValues f,
bool  omit_row_owner = false 
)

◆ format_where_expr() [2/2]

mysqlrouter::sqlstring mrs::database::dv::format_where_expr ( const Table table,
const std::string &  table_name,
const PrimaryKeyColumnValues f,
bool  omit_row_owner = false 
)

◆ get_field_format() [1/2]

static mysqlrouter::sqlstring mrs::database::dv::get_field_format ( entry::ColumnType  type,
bool  value_only 
)
static

◆ get_field_format() [2/2]

static mysqlrouter::sqlstring mrs::database::dv::get_field_format ( entry::ColumnType  type,
const std::string &  datatype,
bool  value_only,
bool  bigints_as_string 
)
static

◆ join_sqlstrings()

mysqlrouter::sqlstring mrs::database::dv::join_sqlstrings ( const std::vector< mysqlrouter::sqlstring > &  strings,
const std::string &  sep 
)

◆ make_input_array()

JSONInputArray mrs::database::dv::make_input_array ( const JSONInputObject::MemberReference ref,
const std::string &  table,
const std::string &  field = "" 
)

◆ make_input_object() [1/2]

JSONInputObject mrs::database::dv::make_input_object ( const JSONInputArray::ValueReference ref,
const std::string &  table,
const std::string &  field = "" 
)

◆ make_input_object() [2/2]

JSONInputObject mrs::database::dv::make_input_object ( const JSONInputObject::MemberReference ref,
const std::string &  table,
const std::string &  field = "" 
)

◆ make_row_insert()

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

◆ make_row_no_update_or_error()

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

◆ make_row_no_update_or_ignore()

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

◆ make_row_update()

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

◆ make_row_upsert()

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

◆ ref_primary_key()

PrimaryKeyColumnValues mrs::database::dv::ref_primary_key ( const ForeignKeyReference ref,
const rapidjson::Value &  value,
bool  throw_if_missing_or_null 
)

◆ safe_run()

void mrs::database::dv::safe_run ( MySQLSession session,
const std::shared_ptr< JsonMappingUpdater::Operation > &  op,
MySQLSession::Transaction transaction_started = nullptr 
)

◆ validate_primary_key_values()

void mrs::database::dv::validate_primary_key_values ( const entry::JsonMapping view,
const ObjectRowOwnership row_ownership,
PrimaryKeyColumnValues pk_values 
)