mirror of https://github.com/milvus-io/milvus.git
feat(db): add merge files
Former-commit-id: 9673339417ce0eb4f4d767420e4a87aa551b1edcpull/191/head
parent
162bd5af3d
commit
3917084e01
|
@ -136,11 +136,11 @@ Status DBImpl::merge_files(const std::string& group_id, const meta::DateT& date,
|
||||||
|
|
||||||
Status DBImpl::background_merge_files(const std::string& group_id) {
|
Status DBImpl::background_merge_files(const std::string& group_id) {
|
||||||
meta::DatePartionedGroupFilesSchema raw_files;
|
meta::DatePartionedGroupFilesSchema raw_files;
|
||||||
/* auto status = _pMeta->get_small_raw_files(group_id, raw_files); */
|
auto status = _pMeta->files_to_merge(group_id, raw_files);
|
||||||
/* if (!status.ok()) { */
|
if (!status.ok()) {
|
||||||
/* _bg_error = status; */
|
_bg_error = status;
|
||||||
/* return status; */
|
return status;
|
||||||
/* } */
|
}
|
||||||
|
|
||||||
if (raw_files.size() == 0) {
|
if (raw_files.size() == 0) {
|
||||||
return Status::OK();
|
return Status::OK();
|
||||||
|
|
|
@ -74,6 +74,9 @@ public:
|
||||||
|
|
||||||
virtual Status update_files(const GroupFilesSchema& files) = 0;
|
virtual Status update_files(const GroupFilesSchema& files) = 0;
|
||||||
|
|
||||||
|
virtual Status files_to_merge(const std::string& group_id,
|
||||||
|
DatePartionedGroupFilesSchema& files) = 0;
|
||||||
|
|
||||||
static DateT GetDate(const std::time_t& t);
|
static DateT GetDate(const std::time_t& t);
|
||||||
static DateT GetDate();
|
static DateT GetDate();
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
#include <boost/filesystem.hpp>
|
||||||
#include "db_meta_impl.h"
|
#include "db_meta_impl.h"
|
||||||
#include "id_generators.h"
|
#include "id_generators.h"
|
||||||
|
|
||||||
|
@ -56,6 +57,27 @@ Status DBMetaImpl::add_group_file(const std::string& group_id,
|
||||||
return Status::OK();
|
return Status::OK();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Status DBMetaImpl::files_to_merge(const std::string& group_id,
|
||||||
|
DatePartionedGroupFilesSchema& files) {
|
||||||
|
//PXU TODO
|
||||||
|
files.clear();
|
||||||
|
std::stringstream ss;
|
||||||
|
ss << "/tmp/test/" << Meta::GetDate();
|
||||||
|
boost::filesystem::path path(ss.str().c_str());
|
||||||
|
boost::filesystem::directory_iterator end_itr;
|
||||||
|
GroupFilesSchema gfiles;
|
||||||
|
DateT date = Meta::GetDate();
|
||||||
|
files[date] = gfiles;
|
||||||
|
for (boost::filesystem::directory_iterator itr(path); itr != end_itr; ++itr) {
|
||||||
|
std::cout << itr->path().string() << std::endl;
|
||||||
|
GroupFileSchema f;
|
||||||
|
f.location = itr->path().string();
|
||||||
|
files[date].push_back(f);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Status::OK();
|
||||||
|
}
|
||||||
|
|
||||||
Status DBMetaImpl::has_group_file(const std::string& group_id_,
|
Status DBMetaImpl::has_group_file(const std::string& group_id_,
|
||||||
const std::string& file_id_,
|
const std::string& file_id_,
|
||||||
bool& has_or_not_) {
|
bool& has_or_not_) {
|
||||||
|
|
|
@ -38,6 +38,9 @@ public:
|
||||||
|
|
||||||
virtual Status update_files(const GroupFilesSchema& files) override;
|
virtual Status update_files(const GroupFilesSchema& files) override;
|
||||||
|
|
||||||
|
virtual Status files_to_merge(const std::string& group_id,
|
||||||
|
DatePartionedGroupFilesSchema& files) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
Status initialize();
|
Status initialize();
|
||||||
|
|
Loading…
Reference in New Issue