lmdb: Use namespace and have reflective-rapidjson code in its own header
This commit is contained in:
parent
f4774cac56
commit
fc32f790fb
|
@ -1 +1 @@
|
||||||
Subproject commit bd72fce0a7e5ec77a042d2701158f58f64563172
|
Subproject commit d53687bdee68ce1f9eb870564c1e972fb9cab7c7
|
|
@ -33,6 +33,7 @@ set(SRC_FILES
|
||||||
parser/siglevel.cpp
|
parser/siglevel.cpp
|
||||||
lmdb-safe/lmdb-safe.hh
|
lmdb-safe/lmdb-safe.hh
|
||||||
lmdb-safe/lmdb-typed.hh
|
lmdb-safe/lmdb-typed.hh
|
||||||
|
lmdb-safe/lmdb-reflective.hh
|
||||||
lmdb-safe/lmdb-safe.cc
|
lmdb-safe/lmdb-safe.cc
|
||||||
lmdb-safe/lmdb-typed.cc)
|
lmdb-safe/lmdb-typed.cc)
|
||||||
set(TEST_HEADER_FILES tests/parser_helper.h)
|
set(TEST_HEADER_FILES tests/parser_helper.h)
|
||||||
|
|
|
@ -8,7 +8,7 @@ namespace LibPkg {
|
||||||
|
|
||||||
StorageDistribution::StorageDistribution(const char *path, std::uint32_t maxDbs)
|
StorageDistribution::StorageDistribution(const char *path, std::uint32_t maxDbs)
|
||||||
{
|
{
|
||||||
m_env = getMDBEnv(path, MDB_NOSUBDIR, 0600, maxDbs);
|
m_env = LMDBSafe::getMDBEnv(path, MDB_NOSUBDIR, 0600, maxDbs);
|
||||||
}
|
}
|
||||||
|
|
||||||
PackageSpec PackageCache::retrieve(DatabaseStorage &databaseStorage, const std::string &packageName)
|
PackageSpec PackageCache::retrieve(DatabaseStorage &databaseStorage, const std::string &packageName)
|
||||||
|
@ -135,7 +135,7 @@ void PackageCache::clearCacheOnly(DatabaseStorage &databaseStorage)
|
||||||
m_packages.clear(databaseStorage);
|
m_packages.clear(databaseStorage);
|
||||||
}
|
}
|
||||||
|
|
||||||
DatabaseStorage::DatabaseStorage(const std::shared_ptr<MDBEnv> &env, PackageCache &packageCache, std::string_view uniqueDatabaseName)
|
DatabaseStorage::DatabaseStorage(const std::shared_ptr<LMDBSafe::MDBEnv> &env, PackageCache &packageCache, std::string_view uniqueDatabaseName)
|
||||||
: packageCache(packageCache)
|
: packageCache(packageCache)
|
||||||
, packages(env, argsToString(uniqueDatabaseName, "_packages"))
|
, packages(env, argsToString(uniqueDatabaseName, "_packages"))
|
||||||
, providedDeps(env, argsToString(uniqueDatabaseName, "_provides"))
|
, providedDeps(env, argsToString(uniqueDatabaseName, "_provides"))
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
|
|
||||||
#include "./package.h"
|
#include "./package.h"
|
||||||
|
|
||||||
|
#include "../lmdb-safe/lmdb-reflective.hh"
|
||||||
#include "../lmdb-safe/lmdb-safe.hh"
|
#include "../lmdb-safe/lmdb-safe.hh"
|
||||||
#include "../lmdb-safe/lmdb-typed.hh"
|
#include "../lmdb-safe/lmdb-typed.hh"
|
||||||
|
|
||||||
|
@ -17,15 +18,15 @@
|
||||||
namespace LibPkg {
|
namespace LibPkg {
|
||||||
|
|
||||||
using StorageID = std::uint32_t;
|
using StorageID = std::uint32_t;
|
||||||
using PackageStorage = TypedDBI<Package, index_on<Package, std::string, &Package::name>>;
|
using PackageStorage = LMDBSafe::TypedDBI<Package, LMDBSafe::index_on<Package, std::string, &Package::name>>;
|
||||||
using DependencyStorage = TypedDBI<DatabaseDependency, index_on<Dependency, std::string, &DatabaseDependency::name>>;
|
using DependencyStorage = LMDBSafe::TypedDBI<DatabaseDependency, LMDBSafe::index_on<Dependency, std::string, &DatabaseDependency::name>>;
|
||||||
using LibraryDependencyStorage
|
using LibraryDependencyStorage
|
||||||
= TypedDBI<DatabaseLibraryDependency, index_on<DatabaseLibraryDependency, std::string, &DatabaseLibraryDependency::name>>;
|
= LMDBSafe::TypedDBI<DatabaseLibraryDependency, LMDBSafe::index_on<DatabaseLibraryDependency, std::string, &DatabaseLibraryDependency::name>>;
|
||||||
|
|
||||||
struct PackageCache;
|
struct PackageCache;
|
||||||
|
|
||||||
struct DatabaseStorage {
|
struct DatabaseStorage {
|
||||||
explicit DatabaseStorage(const std::shared_ptr<MDBEnv> &env, PackageCache &packageCache, std::string_view uniqueDatabaseName);
|
explicit DatabaseStorage(const std::shared_ptr<LMDBSafe::MDBEnv> &env, PackageCache &packageCache, std::string_view uniqueDatabaseName);
|
||||||
PackageCache &packageCache;
|
PackageCache &packageCache;
|
||||||
PackageStorage packages;
|
PackageStorage packages;
|
||||||
DependencyStorage providedDeps;
|
DependencyStorage providedDeps;
|
||||||
|
@ -34,7 +35,7 @@ struct DatabaseStorage {
|
||||||
LibraryDependencyStorage requiredLibs;
|
LibraryDependencyStorage requiredLibs;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::shared_ptr<MDBEnv> m_env;
|
std::shared_ptr<LMDBSafe::MDBEnv> m_env;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct PackageCacheRef {
|
struct PackageCacheRef {
|
||||||
|
@ -149,7 +150,7 @@ struct StorageDistribution {
|
||||||
std::unique_ptr<DatabaseStorage> forDatabase(std::string_view uniqueDatabaseName);
|
std::unique_ptr<DatabaseStorage> forDatabase(std::string_view uniqueDatabaseName);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::shared_ptr<MDBEnv> m_env;
|
std::shared_ptr<LMDBSafe::MDBEnv> m_env;
|
||||||
PackageCache m_packageCache;
|
PackageCache m_packageCache;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue