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

#include <query_changes_db_service.h>

Inheritance diagram for mrs::database::QueryChangesDbService:
[legend]

Public Member Functions

 QueryChangesDbService (SupportedMrsMetadataVersion v, const uint64_t last_audit_log_id, const std::optional< uint64_t > &router_id)
 
void query_entries (MySQLSession *session) override
 Fetch from database the list of all defined object/path entries. More...
 
- Public Member Functions inherited from mrs::database::QueryEntriesDbService
 QueryEntriesDbService (SupportedMrsMetadataVersion v, std::optional< uint64_t > router_id)
 
void force_query_all ()
 
virtual uint64_t get_last_update ()
 

Private Member Functions

void query_service_entries (MySQLSession *session, VectorOfEntries *out, const std::string &table_name, const entry::UniversalId id)
 
void query_similar_service_entries (MySQLSession *session, VectorOfEntries *out, const DbService &similar_entry)
 
std::string build_query (const std::string &table_name, const entry::UniversalId id)
 
std::string build_query (const DbService &similar_entry)
 

Private Attributes

std::set< entry::UniversalId > entries_fetched
 

Additional Inherited Members

- Public Types inherited from mrs::database::QueryEntriesDbService
using DbService = entry::DbService
 
using VectorOfEntries = std::vector< DbService >
 
using SupportedMrsMetadataVersion = mrs::interface::SupportedMrsMetadataVersion
 
- Public Attributes inherited from mrs::database::QueryEntriesDbService
VectorOfEntries entries
 
- Protected Types inherited from mrs::database::QueryRaw
using MySQLSession = mysqlrouter::MySQLSession
 
using Row = MySQLSession::Row
 
using ResultRow = MySQLSession::ResultRow
 
using OnResultSetEnd = MySQLSession::OnResultSetEnd
 
- Protected Member Functions inherited from mrs::database::QueryEntriesDbService
void on_row (const ResultRow &r) override
 
- Protected 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_metadata (unsigned number, MYSQL_FIELD *fields)
 
- Protected Attributes inherited from mrs::database::QueryEntriesDbService
bool query_all_ {false}
 
SupportedMrsMetadataVersion db_version_
 
uint64_t audit_log_id_ {0}
 
- Protected Attributes inherited from mrs::database::QueryRaw
mysqlrouter::sqlstring query_
 
std::optional< std::string > sqlstate_
 
MYSQL_FIELDmetadata_ {nullptr}
 
unsigned num_of_metadata_ {0}
 

Constructor & Destructor Documentation

◆ QueryChangesDbService()

mrs::database::QueryChangesDbService::QueryChangesDbService ( SupportedMrsMetadataVersion  v,
const uint64_t  last_audit_log_id,
const std::optional< uint64_t > &  router_id 
)

Member Function Documentation

◆ build_query() [1/2]

std::string mrs::database::QueryChangesDbService::build_query ( const DbService similar_entry)
private

◆ build_query() [2/2]

std::string mrs::database::QueryChangesDbService::build_query ( const std::string &  table_name,
const entry::UniversalId  id 
)
private

◆ query_entries()

void mrs::database::QueryChangesDbService::query_entries ( MySQLSession session)
overridevirtual

Fetch from database the list of all defined object/path entries.

Except fetching the list, it also tries to fetch matching audit_log.id.

Reimplemented from mrs::database::QueryEntriesDbService.

◆ query_service_entries()

void mrs::database::QueryChangesDbService::query_service_entries ( MySQLSession session,
VectorOfEntries out,
const std::string &  table_name,
const entry::UniversalId  id 
)
private

◆ query_similar_service_entries()

void mrs::database::QueryChangesDbService::query_similar_service_entries ( MySQLSession session,
VectorOfEntries out,
const DbService similar_entry 
)
private

Member Data Documentation

◆ entries_fetched

std::set<entry::UniversalId> mrs::database::QueryChangesDbService::entries_fetched
private

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