20 #include <ripple/app/rdb/ShardArchive.h>
27 return std::make_unique<DatabaseCon>(
36 soci::rowset<soci::row> rs =
37 (db.
getSession().prepare <<
"SELECT * FROM State;");
39 for (
auto it = rs.begin(); it != rs.end(); ++it)
51 db.
getSession() <<
"INSERT INTO State VALUES (:index, :url);",
52 soci::use(shardIndex), soci::use(url);
58 db.
getSession() <<
"DELETE FROM State WHERE ShardIndex = :index;",
59 soci::use(shardIndex);
static constexpr std::array< char const *, 3 > ShardArchiveHandlerDBInit
static constexpr std::array< char const *, 2 > DownloaderDBPragma
void deleteFromArchiveDB(DatabaseCon &db, std::uint32_t shardIndex)
deleteFromArchiveDB Deletes an entry from the shard archive database.
void dropArchiveDB(DatabaseCon &db)
dropArchiveDB Removes a table in the shard archive database.
soci::session & getSession()
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
void readArchiveDB(DatabaseCon &db, std::function< void(std::string const &, int)> const &func)
readArchiveDB Reads entries from the shard archive database and invokes the given callback for each e...
void insertArchiveDB(DatabaseCon &db, std::uint32_t shardIndex, std::string const &url)
insertArchiveDB Adds an entry to the shard archive database.
std::unique_ptr< DatabaseCon > makeArchiveDB(boost::filesystem::path const &dir, std::string const &dbName)
makeArchiveDB Opens the shard archive database and returns its descriptor.