mirror of
https://github.com/KingDuckZ/dindexer.git
synced 2025-02-19 12:04:54 +00:00
Use GroupIDType and FileIDType instead of uint.
This commit is contained in:
parent
bd06158d4c
commit
e5007cf96f
6 changed files with 18 additions and 20 deletions
|
@ -29,7 +29,7 @@
|
|||
|
||||
namespace dindb {
|
||||
namespace {
|
||||
IDDescMap fetch_existing_ids (pq::Connection& parConn, const std::vector<uint32_t>& parIDs) {
|
||||
IDDescMap fetch_existing_ids (pq::Connection& parConn, const std::vector<GroupIDType>& parIDs) {
|
||||
using boost::lexical_cast;
|
||||
|
||||
IDDescMap retmap;
|
||||
|
@ -39,7 +39,7 @@ namespace dindb {
|
|||
|
||||
std::ostringstream oss;
|
||||
oss << "SELECT \"id\",\"desc\" FROM \"sets\" WHERE \"id\"=";
|
||||
boost::copy(parIDs, infix_ostream_iterator<uint32_t>(oss, " OR \"id\"="));
|
||||
boost::copy(parIDs, infix_ostream_iterator<GroupIDType>(oss, " OR \"id\"="));
|
||||
oss << ';';
|
||||
|
||||
auto resultset = parConn.query(oss.str());
|
||||
|
@ -50,7 +50,7 @@ namespace dindb {
|
|||
}
|
||||
} //unnamed namespace
|
||||
|
||||
void delete_group_from_db (pq::Connection& parDB, const std::vector<uint32_t>& parIDs, ConfirmDeleCallback parConf) {
|
||||
void delete_group_from_db (pq::Connection& parDB, const std::vector<GroupIDType>& parIDs, ConfirmDeleCallback parConf) {
|
||||
assert(parDB.is_connected());
|
||||
|
||||
const auto dele_ids = fetch_existing_ids(parDB, parIDs);
|
||||
|
@ -65,9 +65,9 @@ namespace dindb {
|
|||
ids.reserve(dele_ids.size());
|
||||
std::ostringstream oss;
|
||||
oss << "BEGIN;\nDELETE FROM \"files\" WHERE \"group_id\"=";
|
||||
boost::copy(dele_ids | boost::adaptors::map_keys, infix_ostream_iterator<uint32_t>(oss, " OR \"group_id\"="));
|
||||
boost::copy(dele_ids | boost::adaptors::map_keys, infix_ostream_iterator<GroupIDType>(oss, " OR \"group_id\"="));
|
||||
oss << ";\nDELETE FROM \"sets\" WHERE \"id\"=";
|
||||
boost::copy(dele_ids | boost::adaptors::map_keys, infix_ostream_iterator<uint32_t>(oss, " OR \"id\"="));
|
||||
boost::copy(dele_ids | boost::adaptors::map_keys, infix_ostream_iterator<GroupIDType>(oss, " OR \"id\"="));
|
||||
oss << ";\nCOMMIT;";
|
||||
|
||||
parDB.query(oss.str());
|
||||
|
|
|
@ -22,7 +22,6 @@
|
|||
#include <functional>
|
||||
#include <vector>
|
||||
#include <string>
|
||||
#include <cstdint>
|
||||
#include <map>
|
||||
|
||||
namespace pq {
|
||||
|
@ -30,10 +29,10 @@ namespace pq {
|
|||
} //namespace pq
|
||||
|
||||
namespace dindb {
|
||||
using IDDescMap = std::map<uint32_t, std::string>;
|
||||
using IDDescMap = std::map<GroupIDType, std::string>;
|
||||
using ConfirmDeleCallback = std::function<bool(const IDDescMap&)>;
|
||||
|
||||
void delete_group_from_db ( pq::Connection& parDB, const std::vector<uint32_t>& parIDs, ConfirmDeleCallback parConf );
|
||||
void delete_group_from_db ( pq::Connection& parDB, const std::vector<GroupIDType>& parIDs, ConfirmDeleCallback parConf );
|
||||
} //namespace dindb
|
||||
|
||||
#endif
|
||||
|
|
|
@ -148,7 +148,7 @@ namespace dindb {
|
|||
dindb::delete_all_tags(m_redis, m_dele_tag_if_in_set, parRegexes, parSet);
|
||||
}
|
||||
|
||||
void BackendRedis::delete_group (const std::vector<uint32_t>& parIDs, ConfirmDeleCallback parConf) {
|
||||
void BackendRedis::delete_group (const std::vector<GroupIDType>& parIDs, ConfirmDeleCallback parConf) {
|
||||
}
|
||||
|
||||
void BackendRedis::write_files (const std::vector<mchlib::FileRecordData>& parData, const mchlib::SetRecordDataFull& parSetData, const std::string& parSignature) {
|
||||
|
|
|
@ -42,7 +42,7 @@ namespace dindb {
|
|||
virtual void delete_all_tags ( const std::vector<FileIDType>& parFiles, GroupIDType parSet ) override;
|
||||
virtual void delete_all_tags ( const std::vector<std::string>& parRegexes, GroupIDType parSet ) override;
|
||||
|
||||
virtual void delete_group ( const std::vector<uint32_t>& parIDs, ConfirmDeleCallback parConf ) override;
|
||||
virtual void delete_group ( const std::vector<GroupIDType>& parIDs, ConfirmDeleCallback parConf ) override;
|
||||
|
||||
virtual void write_files ( const std::vector<mchlib::FileRecordData>& parData, const mchlib::SetRecordDataFull& parSetData, const std::string& parSignature ) override;
|
||||
virtual bool search_file_by_hash ( mchlib::FileRecordData& parItem, mchlib::SetRecordDataFull& parSet, const mchlib::TigerHash& parHash ) override;
|
||||
|
|
|
@ -37,7 +37,7 @@ namespace std {
|
|||
|
||||
namespace dindb {
|
||||
namespace {
|
||||
std::string make_file_key (uint64_t parID) {
|
||||
std::string make_file_key (FileIDType parID) {
|
||||
return PROGRAM_NAME ":file:" + dinhelp::lexical_cast<std::string>(parID);
|
||||
}
|
||||
|
||||
|
@ -54,7 +54,7 @@ namespace dindb {
|
|||
return retval;
|
||||
}
|
||||
|
||||
void run_id_based_script (redis::Command& parRedis, redis::Script& parScript, const std::vector<uint64_t>& parFiles, const std::vector<boost::string_ref>& parTags, GroupIDType parSet) {
|
||||
void run_id_based_script (redis::Command& parRedis, redis::Script& parScript, const std::vector<FileIDType>& parFiles, const std::vector<boost::string_ref>& parTags, GroupIDType parSet) {
|
||||
using dinhelp::lexical_cast;
|
||||
|
||||
auto batch = parRedis.make_batch();
|
||||
|
@ -105,7 +105,7 @@ namespace dindb {
|
|||
}
|
||||
} //unnamed namespace
|
||||
|
||||
void tag_files (redis::Command& parRedis, redis::Script& parTagIfInSet, const std::vector<uint64_t>& parFiles, const std::vector<boost::string_ref>& parTags, GroupIDType parSet) {
|
||||
void tag_files (redis::Command& parRedis, redis::Script& parTagIfInSet, const std::vector<FileIDType>& parFiles, const std::vector<boost::string_ref>& parTags, GroupIDType parSet) {
|
||||
run_id_based_script(parRedis, parTagIfInSet, parFiles, parTags, parSet);
|
||||
}
|
||||
|
||||
|
@ -113,7 +113,7 @@ namespace dindb {
|
|||
run_regex_based_script(parRedis, parTagIfInSet, parRegexes, parTags, parSet);
|
||||
}
|
||||
|
||||
void delete_tags (redis::Command& parRedis, redis::Script& parDeleIfInSet, const std::vector<uint64_t>& parFiles, const std::vector<boost::string_ref>& parTags, GroupIDType parSet) {
|
||||
void delete_tags (redis::Command& parRedis, redis::Script& parDeleIfInSet, const std::vector<FileIDType>& parFiles, const std::vector<boost::string_ref>& parTags, GroupIDType parSet) {
|
||||
run_id_based_script(parRedis, parDeleIfInSet, parFiles, parTags, parSet);
|
||||
}
|
||||
|
||||
|
@ -121,7 +121,7 @@ namespace dindb {
|
|||
run_regex_based_script(parRedis, parDeleIfInSet, parRegexes, parTags, parSet);
|
||||
}
|
||||
|
||||
void delete_all_tags (redis::Command& parRedis, redis::Script& parDeleIfInSet, const std::vector<uint64_t>& parFiles, GroupIDType parSet) {
|
||||
void delete_all_tags (redis::Command& parRedis, redis::Script& parDeleIfInSet, const std::vector<FileIDType>& parFiles, GroupIDType parSet) {
|
||||
auto batch = parRedis.make_batch();
|
||||
for (const auto file_id : parFiles) {
|
||||
const auto file_key = make_file_key(file_id);
|
||||
|
@ -147,7 +147,7 @@ namespace dindb {
|
|||
const auto regexes = compile_regexes(parRegexes);
|
||||
|
||||
std::set<std::string> dele_tags;
|
||||
std::vector<uint64_t> ids;
|
||||
std::vector<FileIDType> ids;
|
||||
|
||||
for (const auto& itm : parRedis.scan(PROGRAM_NAME ":file:*")) {
|
||||
const auto& file_key = itm;
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
#include "backends/db_backend.hpp"
|
||||
#include <vector>
|
||||
#include <boost/utility/string_ref.hpp>
|
||||
#include <cstdint>
|
||||
|
||||
namespace redis {
|
||||
class Command;
|
||||
|
@ -32,7 +31,7 @@ namespace dindb {
|
|||
void tag_files (
|
||||
redis::Command& parRedis,
|
||||
redis::Script& parTagIfInSet,
|
||||
const std::vector<uint64_t>& parFiles,
|
||||
const std::vector<FileIDType>& parFiles,
|
||||
const std::vector<boost::string_ref>& parTags,
|
||||
GroupIDType parSet
|
||||
);
|
||||
|
@ -47,7 +46,7 @@ namespace dindb {
|
|||
void delete_tags (
|
||||
redis::Command& parRedis,
|
||||
redis::Script& parDeleIfInSet,
|
||||
const std::vector<uint64_t>& parFiles,
|
||||
const std::vector<FileIDType>& parFiles,
|
||||
const std::vector<boost::string_ref>& parTags,
|
||||
GroupIDType parSet
|
||||
);
|
||||
|
@ -61,7 +60,7 @@ namespace dindb {
|
|||
void delete_all_tags (
|
||||
redis::Command& parRedis,
|
||||
redis::Script& parDeleIfInSet,
|
||||
const std::vector<uint64_t>& parFiles,
|
||||
const std::vector<FileIDType>& parFiles,
|
||||
GroupIDType parSet
|
||||
);
|
||||
void delete_all_tags (
|
||||
|
|
Loading…
Add table
Reference in a new issue