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

#include <select.h>

Public Member Functions

 JsonQueryBuilder (const ObjectFieldFilter &filter, const ObjectRowOwnership &row_owner={}, bool for_update=false, bool for_bigins_as_string=false)
 
void process_view (std::shared_ptr< entry::JsonMapping > view)
 
mysqlrouter::sqlstring query () const
 
mysqlrouter::sqlstring query_one (const PrimaryKeyColumnValues &pk) const
 
const mysqlrouter::sqlstringselect_items () const
 
mysqlrouter::sqlstring from_clause () const
 

Private Member Functions

void process_table (std::shared_ptr< Table > parent_table, std::shared_ptr< Table > table, const std::string &path_prefix)
 
mysqlrouter::sqlstring subquery_object (const ForeignKeyReference &fk) const
 
mysqlrouter::sqlstring subquery_object_array (const ForeignKeyReference &fk) const
 
mysqlrouter::sqlstring make_subselect_where (const ForeignKeyReference &ref) const
 
mysqlrouter::sqlstring make_subquery (const ForeignKeyReference &ref) const
 
void add_column_field (const Column &column)
 
void add_reference_field (const ForeignKeyReference &fk)
 

Private Attributes

const ObjectFieldFilterfilter_
 
const ObjectRowOwnershiprow_owner_
 
std::shared_ptr< Tableparent_table_
 
std::shared_ptr< Tabletable_
 
std::string m_path_prefix
 
mysqlrouter::sqlstring m_select_items
 
bool for_update_ = false
 
bool bigins_as_string_ = false
 

Constructor & Destructor Documentation

◆ JsonQueryBuilder()

mrs::database::dv::JsonQueryBuilder::JsonQueryBuilder ( const ObjectFieldFilter filter,
const ObjectRowOwnership row_owner = {},
bool  for_update = false,
bool  for_bigins_as_string = false 
)
inlineexplicit

Member Function Documentation

◆ add_column_field()

void mrs::database::dv::JsonQueryBuilder::add_column_field ( const Column column)
private

◆ add_reference_field()

void mrs::database::dv::JsonQueryBuilder::add_reference_field ( const ForeignKeyReference fk)
private

◆ from_clause()

mysqlrouter::sqlstring mrs::database::dv::JsonQueryBuilder::from_clause ( ) const

◆ make_subquery()

mysqlrouter::sqlstring mrs::database::dv::JsonQueryBuilder::make_subquery ( const ForeignKeyReference ref) const
private

◆ make_subselect_where()

mysqlrouter::sqlstring mrs::database::dv::JsonQueryBuilder::make_subselect_where ( const ForeignKeyReference ref) const
private

◆ process_table()

void mrs::database::dv::JsonQueryBuilder::process_table ( std::shared_ptr< Table parent_table,
std::shared_ptr< Table table,
const std::string &  path_prefix 
)
private

◆ process_view()

void mrs::database::dv::JsonQueryBuilder::process_view ( std::shared_ptr< entry::JsonMapping view)

◆ query()

mysqlrouter::sqlstring mrs::database::dv::JsonQueryBuilder::query ( ) const
inline

◆ query_one()

mysqlrouter::sqlstring mrs::database::dv::JsonQueryBuilder::query_one ( const PrimaryKeyColumnValues pk) const
inline

◆ select_items()

const mysqlrouter::sqlstring & mrs::database::dv::JsonQueryBuilder::select_items ( ) const
inline

◆ subquery_object()

mysqlrouter::sqlstring mrs::database::dv::JsonQueryBuilder::subquery_object ( const ForeignKeyReference fk) const
private

◆ subquery_object_array()

mysqlrouter::sqlstring mrs::database::dv::JsonQueryBuilder::subquery_object_array ( const ForeignKeyReference fk) const
private

Member Data Documentation

◆ bigins_as_string_

bool mrs::database::dv::JsonQueryBuilder::bigins_as_string_ = false
private

◆ filter_

const ObjectFieldFilter& mrs::database::dv::JsonQueryBuilder::filter_
private

◆ for_update_

bool mrs::database::dv::JsonQueryBuilder::for_update_ = false
private

◆ m_path_prefix

std::string mrs::database::dv::JsonQueryBuilder::m_path_prefix
private

◆ m_select_items

mysqlrouter::sqlstring mrs::database::dv::JsonQueryBuilder::m_select_items
private

◆ parent_table_

std::shared_ptr<Table> mrs::database::dv::JsonQueryBuilder::parent_table_
private

◆ row_owner_

const ObjectRowOwnership& mrs::database::dv::JsonQueryBuilder::row_owner_
private

◆ table_

std::shared_ptr<Table> mrs::database::dv::JsonQueryBuilder::table_
private

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