refactor create rocksdb

This commit is contained in:
Scott E. Graves 2024-12-18 12:37:00 -06:00
parent eeea09f65a
commit bb983594d5
4 changed files with 18 additions and 19 deletions

View File

@ -42,9 +42,9 @@ private:
private:
std::unique_ptr<rocksdb::TransactionDB> db_{nullptr};
rocksdb::ColumnFamilyHandle *default_family_{};
rocksdb::ColumnFamilyHandle *directory_family_{};
rocksdb::ColumnFamilyHandle *file_family_{};
rocksdb::ColumnFamilyHandle *source_family_{};
private:
void create_or_open(bool clear);

View File

@ -43,7 +43,7 @@ private:
private:
std::unique_ptr<rocksdb::TransactionDB> db_{nullptr};
rocksdb::ColumnFamilyHandle *default_family_{};
rocksdb::ColumnFamilyHandle *meta_family_{};
rocksdb::ColumnFamilyHandle *pinned_family_{};
rocksdb::ColumnFamilyHandle *size_family_{};
rocksdb::ColumnFamilyHandle *source_family_{};

View File

@ -50,9 +50,9 @@ void rdb_file_db::create_or_open(bool clear) {
db_ = utils::create_rocksdb(cfg_, "file", families, handles, clear);
std::size_t idx{};
default_family_ = handles.at(idx++);
file_family_ = handles.at(idx++);
source_family_ = handles.at(idx++);
directory_family_ = handles.at(idx++);
file_family_ = handles.at(idx++);
}
auto rdb_file_db::add_directory(const std::string &api_path,
@ -80,7 +80,7 @@ auto rdb_file_db::add_directory(const std::string &api_path,
return res;
}
return txn->Put(default_family_, source_path, api_path);
return txn->Put(source_family_, source_path, api_path);
});
}
@ -114,7 +114,7 @@ auto rdb_file_db::add_or_update_file(const i_file_db::file_data &data)
return res;
}
return txn->Put(default_family_, data.source_path, data.api_path);
return txn->Put(source_family_, data.source_path, data.api_path);
});
}
@ -129,7 +129,7 @@ auto rdb_file_db::create_iterator(rocksdb::ColumnFamilyHandle *family) const
auto rdb_file_db::count() const -> std::uint64_t {
std::uint64_t ret{};
auto iter = create_iterator(default_family_);
auto iter = create_iterator(source_family_);
for (iter->SeekToFirst(); iter->Valid(); iter->Next()) {
++ret;
}
@ -142,7 +142,7 @@ auto rdb_file_db::get_api_path(const std::string &source_path,
REPERTORY_USES_FUNCTION_NAME();
return perform_action(function_name, [&]() -> rocksdb::Status {
return db_->Get(rocksdb::ReadOptions{}, default_family_, source_path,
return db_->Get(rocksdb::ReadOptions{}, source_family_, source_path,
&api_path);
});
}
@ -153,7 +153,7 @@ auto rdb_file_db::get_directory_api_path(const std::string &source_path,
REPERTORY_USES_FUNCTION_NAME();
auto result = perform_action(function_name, [&]() -> rocksdb::Status {
auto res = db_->Get(rocksdb::ReadOptions{}, default_family_, source_path,
auto res = db_->Get(rocksdb::ReadOptions{}, source_family_, source_path,
&api_path);
if (not res.ok()) {
return res;
@ -191,7 +191,7 @@ auto rdb_file_db::get_file_api_path(const std::string &source_path,
REPERTORY_USES_FUNCTION_NAME();
auto result = perform_action(function_name, [&]() -> rocksdb::Status {
auto res = db_->Get(rocksdb::ReadOptions{}, default_family_, source_path,
auto res = db_->Get(rocksdb::ReadOptions{}, source_family_, source_path,
&api_path);
if (not res.ok()) {
return res;
@ -285,7 +285,7 @@ auto rdb_file_db::get_item_list() const -> std::vector<i_file_db::file_info> {
auto rdb_file_db::get_source_path(const std::string &api_path,
std::string &source_path) const -> api_error {
auto iter = create_iterator(default_family_);
auto iter = create_iterator(source_family_);
for (iter->SeekToFirst(); iter->Valid(); iter->Next()) {
if (iter->value().ToString() != api_path) {
continue;
@ -366,7 +366,7 @@ auto rdb_file_db::remove_item(const std::string &api_path) -> api_error {
auto rdb_file_db::remove_item(const std::string &api_path,
const std::string &source_path,
rocksdb::Transaction *txn) -> rocksdb::Status {
auto res = txn->Delete(default_family_, source_path);
auto res = txn->Delete(source_family_, source_path);
if (not res.ok()) {
return res;
}

View File

@ -50,7 +50,7 @@ void rdb_meta_db::create_or_open(bool clear) {
db_ = utils::create_rocksdb(cfg_, "provider_meta", families, handles, clear);
std::size_t idx{};
default_family_ = handles.at(idx++);
meta_family_ = handles.at(idx++);
pinned_family_ = handles.at(idx++);
size_family_ = handles.at(idx++);
source_family_ = handles.at(idx++);
@ -80,7 +80,7 @@ auto rdb_meta_db::get_api_path(const std::string &source_path,
auto rdb_meta_db::get_api_path_list() const -> std::vector<std::string> {
std::vector<std::string> ret;
auto iter = create_iterator(default_family_);
auto iter = create_iterator(meta_family_);
for (iter->SeekToFirst(); iter->Valid(); iter->Next()) {
ret.push_back(iter->key().ToString());
}
@ -98,8 +98,7 @@ auto rdb_meta_db::get_item_meta_json(const std::string &api_path,
{
std::string value;
auto res = perform_action(function_name, [&]() -> rocksdb::Status {
return db_->Get(rocksdb::ReadOptions{}, default_family_, api_path,
&value);
return db_->Get(rocksdb::ReadOptions{}, meta_family_, api_path, &value);
});
if (res != api_error::success) {
return res;
@ -207,7 +206,7 @@ auto rdb_meta_db::get_pinned_files() const -> std::vector<std::string> {
auto rdb_meta_db::get_total_item_count() const -> std::uint64_t {
std::uint64_t ret{};
auto iter = create_iterator(default_family_);
auto iter = create_iterator(meta_family_);
for (iter->SeekToFirst(); iter->Valid(); iter->Next()) {
++ret;
}
@ -317,7 +316,7 @@ auto rdb_meta_db::remove_api_path(const std::string &api_path,
}
}
return txn->Delete(default_family_, api_path);
return txn->Delete(meta_family_, api_path);
}
auto rdb_meta_db::remove_item_meta(const std::string &api_path,
@ -491,7 +490,7 @@ auto rdb_meta_db::update_item_meta(const std::string &api_path, json json_data,
}
}
return set_status(txn->Put(default_family_, api_path, json_data.dump()));
return set_status(txn->Put(meta_family_, api_path, json_data.dump()));
};
if (base_txn == nullptr) {