xrpld
Loading...
Searching...
No Matches
xrpl::DatabaseCon Class Reference

#include <DatabaseCon.h>

Collaboration diagram for xrpl::DatabaseCon:

Classes

struct  Setup
struct  CheckpointerSetup

Public Member Functions

template<std::size_t N, std::size_t M>
 DatabaseCon (Setup const &setup, std::string const &dbName, std::array< std::string, N > const &pragma, std::array< char const *, M > const &initSQL, beast::Journal journal)
template<std::size_t N, std::size_t M>
 DatabaseCon (Setup const &setup, std::string const &dbName, std::array< std::string, N > const &pragma, std::array< char const *, M > const &initSQL, CheckpointerSetup const &checkpointerSetup, beast::Journal journal)
template<std::size_t N, std::size_t M>
 DatabaseCon (boost::filesystem::path const &dataDir, std::string const &dbName, std::array< std::string, N > const &pragma, std::array< char const *, M > const &initSQL, beast::Journal journal)
template<std::size_t N, std::size_t M>
 DatabaseCon (boost::filesystem::path const &dataDir, std::string const &dbName, std::array< std::string, N > const &pragma, std::array< char const *, M > const &initSQL, CheckpointerSetup const &checkpointerSetup, beast::Journal journal)
 ~DatabaseCon ()
soci::session & getSession ()
LockedSociSession checkoutDb ()

Private Member Functions

void setupCheckpointing (JobQueue *, ServiceRegistry &)
template<std::size_t N, std::size_t M>
 DatabaseCon (boost::filesystem::path const &pPath, std::vector< std::string > const *commonPragma, std::array< std::string, N > const &pragma, std::array< char const *, M > const &initSQL, beast::Journal journal)

Private Attributes

LockedSociSession::mutex lock_
std::shared_ptr< soci::session > const session_
std::shared_ptr< Checkpointercheckpointer_
beast::Journal const j_

Detailed Description

Definition at line 66 of file DatabaseCon.h.

Constructor & Destructor Documentation

◆ DatabaseCon() [1/5]

template<std::size_t N, std::size_t M>
xrpl::DatabaseCon::DatabaseCon ( Setup const & setup,
std::string const & dbName,
std::array< std::string, N > const & pragma,
std::array< char const *, M > const & initSQL,
beast::Journal journal )

Definition at line 103 of file DatabaseCon.h.

◆ DatabaseCon() [2/5]

template<std::size_t N, std::size_t M>
xrpl::DatabaseCon::DatabaseCon ( Setup const & setup,
std::string const & dbName,
std::array< std::string, N > const & pragma,
std::array< char const *, M > const & initSQL,
CheckpointerSetup const & checkpointerSetup,
beast::Journal journal )

Definition at line 124 of file DatabaseCon.h.

◆ DatabaseCon() [3/5]

template<std::size_t N, std::size_t M>
xrpl::DatabaseCon::DatabaseCon ( boost::filesystem::path const & dataDir,
std::string const & dbName,
std::array< std::string, N > const & pragma,
std::array< char const *, M > const & initSQL,
beast::Journal journal )

Definition at line 137 of file DatabaseCon.h.

◆ DatabaseCon() [4/5]

template<std::size_t N, std::size_t M>
xrpl::DatabaseCon::DatabaseCon ( boost::filesystem::path const & dataDir,
std::string const & dbName,
std::array< std::string, N > const & pragma,
std::array< char const *, M > const & initSQL,
CheckpointerSetup const & checkpointerSetup,
beast::Journal journal )

Definition at line 149 of file DatabaseCon.h.

◆ ~DatabaseCon()

xrpl::DatabaseCon::~DatabaseCon ( )

Definition at line 69 of file DatabaseCon.cpp.

◆ DatabaseCon() [5/5]

template<std::size_t N, std::size_t M>
xrpl::DatabaseCon::DatabaseCon ( boost::filesystem::path const & pPath,
std::vector< std::string > const * commonPragma,
std::array< std::string, N > const & pragma,
std::array< char const *, M > const & initSQL,
beast::Journal journal )
private

Definition at line 184 of file DatabaseCon.h.

Member Function Documentation

◆ getSession()

soci::session & xrpl::DatabaseCon::getSession ( )

Definition at line 164 of file DatabaseCon.h.

◆ checkoutDb()

LockedSociSession xrpl::DatabaseCon::checkoutDb ( )

Definition at line 170 of file DatabaseCon.h.

◆ setupCheckpointing()

void xrpl::DatabaseCon::setupCheckpointing ( JobQueue * q,
ServiceRegistry & registry )
private

Definition at line 93 of file DatabaseCon.cpp.

Member Data Documentation

◆ lock_

LockedSociSession::mutex xrpl::DatabaseCon::lock_
private

Definition at line 216 of file DatabaseCon.h.

◆ session_

std::shared_ptr<soci::session> const xrpl::DatabaseCon::session_
private

Definition at line 224 of file DatabaseCon.h.

◆ checkpointer_

std::shared_ptr<Checkpointer> xrpl::DatabaseCon::checkpointer_
private

Definition at line 225 of file DatabaseCon.h.

◆ j_

beast::Journal const xrpl::DatabaseCon::j_
private

Definition at line 227 of file DatabaseCon.h.