20 #ifndef RIPPLE_SOCIDB_H_INCLUDED
21 #define RIPPLE_SOCIDB_H_INCLUDED
31 #if defined(__clang__)
32 #pragma clang diagnostic push
33 #pragma clang diagnostic ignored "-Wdeprecated"
36 #include <ripple/basics/Log.h>
37 #include <ripple/core/JobQueue.h>
38 #define SOCI_USE_BOOST
40 #include <soci/soci.h>
50 template <
class T,
class C>
61 <<
"rangeCheckedCast domain error:"
66 return static_cast<T
>(c);
87 open(soci::session& s)
const;
163 #if defined(__clang__)
164 #pragma clang diagnostic pop
SociConfig is used when a client wants to delay opening a soci::session after parsing the config para...
Manages partitions for logging.
size_t getKBUsedDB(soci::session &s)
size_t getKBUsedAll(soci::session &s)
virtual void checkpoint()=0
void convert(soci::blob &from, std::vector< std::uint8_t > &to)
beast::Journal debugLog()
Returns a debug journal.
virtual void schedule()=0
virtual ~Checkpointer()=default
virtual std::uintptr_t id() const =0
A pool of threads to perform work.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
void open(soci::session &s) const
soci::backend_factory const & backendFactory_
std::string connectionString_
std::string connectionString() const
SociConfig(std::pair< std::string, soci::backend_factory const & > init)
Holds unparsed configuration information.
std::shared_ptr< Checkpointer > makeCheckpointer(std::uintptr_t id, std::weak_ptr< soci::session > session, JobQueue &queue, Logs &logs)
Returns a new checkpointer which makes checkpoints of a soci database every checkpointPageCount pages...
void open(soci::session &s, BasicConfig const &config, std::string const &dbName)
Open a soci session.