rippled
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
ripple::DatabaseCon Class Reference
Collaboration diagram for ripple::DatabaseCon:
Collaboration graph
[legend]

Classes

struct  CheckpointerSetup
 
struct  Setup
 

Public Member Functions

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

Private Member Functions

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

Private Attributes

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

Detailed Description

Definition at line 81 of file DatabaseCon.h.

Constructor & Destructor Documentation

◆ DatabaseCon() [1/5]

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

Definition at line 114 of file DatabaseCon.h.

◆ DatabaseCon() [2/5]

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

Definition at line 135 of file DatabaseCon.h.

◆ DatabaseCon() [3/5]

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

Definition at line 147 of file DatabaseCon.h.

◆ DatabaseCon() [4/5]

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

Definition at line 158 of file DatabaseCon.h.

◆ ~DatabaseCon()

ripple::DatabaseCon::~DatabaseCon ( )

Definition at line 84 of file DatabaseCon.cpp.

◆ DatabaseCon() [5/5]

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

Definition at line 188 of file DatabaseCon.h.

Member Function Documentation

◆ getSession()

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

Definition at line 172 of file DatabaseCon.h.

◆ checkoutDb()

LockedSociSession ripple::DatabaseCon::checkoutDb ( )

Definition at line 178 of file DatabaseCon.h.

◆ setupCheckpointing()

void ripple::DatabaseCon::setupCheckpointing ( JobQueue q,
Logs l 
)
private

Definition at line 248 of file DatabaseCon.cpp.

Member Data Documentation

◆ lock_

LockedSociSession::mutex ripple::DatabaseCon::lock_
private

Definition at line 217 of file DatabaseCon.h.

◆ session_

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

Definition at line 225 of file DatabaseCon.h.

◆ checkpointer_

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

Definition at line 226 of file DatabaseCon.h.