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

#include <query_changes_db_object.h>

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

Public Types

using QueryFactory = mrs::interface::QueryFactory
 
- Public Types inherited from mrs::database::QueryEntriesDbObject
using DbObject = entry::DbObject
 
using VectorOfPathEntries = std::vector< DbObject >
 
using SupportedMrsMetadataVersion = mrs::interface::SupportedMrsMetadataVersion
 

Public Member Functions

 QueryChangesDbObject (SupportedMrsMetadataVersion v, QueryFactory *query_factory, const uint64_t last_audit_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::QueryEntriesDbObject
 QueryEntriesDbObject (SupportedMrsMetadataVersion v, mrs::interface::QueryFactory *query_factory)
 
virtual uint64_t get_last_update ()
 
VectorOfPathEntries get_entries () const
 

Private Member Functions

void query_path_entries (MySQLSession *session, std::vector< DbObjectCompatible > *out, const std::string &table_name, const entry::UniversalId &id)
 
std::string build_query (const std::string &table_name, const entry::UniversalId &id)
 

Private Attributes

std::set< entry::UniversalId > path_entries_fetched
 
uint64_t query_length_
 

Additional Inherited Members

- 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::QueryEntriesDbObject
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)
 
- Static Protected Member Functions inherited from mrs::database::QueryEntriesDbObject
static std::string skip_starting_slash (const std::string &value)
 
- Protected Attributes inherited from mrs::database::QueryEntriesDbObject
SupportedMrsMetadataVersion db_version_
 
uint64_t audit_log_id_ {0}
 
mrs::interface::QueryFactoryquery_factory_
 
std::vector< DbObjectCompatibleentries_
 
- Protected Attributes inherited from mrs::database::QueryRaw
mysqlrouter::sqlstring query_
 
std::optional< std::string > sqlstate_
 
MYSQL_FIELDmetadata_ {nullptr}
 
unsigned num_of_metadata_ {0}
 

Member Typedef Documentation

◆ QueryFactory

Constructor & Destructor Documentation

◆ QueryChangesDbObject()

mrs::database::QueryChangesDbObject::QueryChangesDbObject ( SupportedMrsMetadataVersion  v,
QueryFactory query_factory,
const uint64_t  last_audit_id 
)

Member Function Documentation

◆ build_query()

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

◆ query_entries()

void mrs::database::QueryChangesDbObject::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::QueryEntriesDbObject.

◆ query_path_entries()

void mrs::database::QueryChangesDbObject::query_path_entries ( MySQLSession session,
std::vector< DbObjectCompatible > *  out,
const std::string &  table_name,
const entry::UniversalId &  id 
)
private

Member Data Documentation

◆ path_entries_fetched

std::set<entry::UniversalId> mrs::database::QueryChangesDbObject::path_entries_fetched
private

◆ query_length_

uint64_t mrs::database::QueryChangesDbObject::query_length_
private

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