refactor create rocksdb
This commit is contained in:
parent
eeea09f65a
commit
bb983594d5
@ -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);
|
||||
|
@ -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_{};
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user