提交 09fdd0f8 编写于 作者: X Xu Peng

refactor(db): FilesToSearch


Former-commit-id: dcb7f972ee13a0916129dfec5b05dad66025dfbf
上级 edf33115
...@@ -70,7 +70,7 @@ Status DBImpl<EngineT>::search(const std::string& table_id, size_t k, size_t nq, ...@@ -70,7 +70,7 @@ Status DBImpl<EngineT>::search(const std::string& table_id, size_t k, size_t nq,
const float* vectors, const meta::DatesT& dates, QueryResults& results) { const float* vectors, const meta::DatesT& dates, QueryResults& results) {
meta::DatePartionedTableFilesSchema files; meta::DatePartionedTableFilesSchema files;
auto status = _pMeta->files_to_search(table_id, dates, files); auto status = _pMeta->FilesToSearch(table_id, dates, files);
if (!status.ok()) { return status; } if (!status.ok()) { return status; }
LOG(DEBUG) << "Search DateT Size=" << files.size(); LOG(DEBUG) << "Search DateT Size=" << files.size();
......
...@@ -303,7 +303,7 @@ Status DBMetaImpl::files_to_index(TableFilesSchema& files) { ...@@ -303,7 +303,7 @@ Status DBMetaImpl::files_to_index(TableFilesSchema& files) {
return Status::OK(); return Status::OK();
} }
Status DBMetaImpl::files_to_search(const std::string &table_id, Status DBMetaImpl::FilesToSearch(const std::string &table_id,
const DatesT& partition, const DatesT& partition,
DatePartionedTableFilesSchema &files) { DatePartionedTableFilesSchema &files) {
files.clear(); files.clear();
...@@ -330,21 +330,22 @@ Status DBMetaImpl::files_to_search(const std::string &table_id, ...@@ -330,21 +330,22 @@ Status DBMetaImpl::files_to_search(const std::string &table_id,
return status; return status;
} }
TableFileSchema table_file;
for (auto& file : selected) { for (auto& file : selected) {
TableFileSchema group_file; table_file.id = std::get<0>(file);
group_file.id = std::get<0>(file); table_file.table_id = std::get<1>(file);
group_file.table_id = std::get<1>(file); table_file.file_id = std::get<2>(file);
group_file.file_id = std::get<2>(file); table_file.file_type = std::get<3>(file);
group_file.file_type = std::get<3>(file); table_file.size = std::get<4>(file);
group_file.size = std::get<4>(file); table_file.date = std::get<5>(file);
group_file.date = std::get<5>(file); table_file.dimension = table_schema.dimension;
group_file.dimension = table_schema.dimension; GetGroupFilePath(table_file);
GetGroupFilePath(group_file); auto dateItr = files.find(table_file.date);
auto dateItr = files.find(group_file.date);
if (dateItr == files.end()) { if (dateItr == files.end()) {
files[group_file.date] = TableFilesSchema(); files[table_file.date] = TableFilesSchema();
} }
files[group_file.date].push_back(group_file); files[table_file.date].push_back(table_file);
} }
} catch (std::exception & e) { } catch (std::exception & e) {
LOG(DEBUG) << e.what(); LOG(DEBUG) << e.what();
......
...@@ -33,11 +33,11 @@ public: ...@@ -33,11 +33,11 @@ public:
virtual Status UpdateTableFiles(TableFilesSchema& files) override; virtual Status UpdateTableFiles(TableFilesSchema& files) override;
virtual Status files_to_merge(const std::string& table_id, virtual Status FilesToSearch(const std::string& table_id,
const DatesT& partition,
DatePartionedTableFilesSchema& files) override; DatePartionedTableFilesSchema& files) override;
virtual Status files_to_search(const std::string& table_id, virtual Status files_to_merge(const std::string& table_id,
const DatesT& partition,
DatePartionedTableFilesSchema& files) override; DatePartionedTableFilesSchema& files) override;
virtual Status files_to_index(TableFilesSchema&) override; virtual Status files_to_index(TableFilesSchema&) override;
......
...@@ -35,7 +35,7 @@ public: ...@@ -35,7 +35,7 @@ public:
virtual Status UpdateTableFiles(TableFilesSchema& files) = 0; virtual Status UpdateTableFiles(TableFilesSchema& files) = 0;
virtual Status files_to_search(const std::string& table_id, virtual Status FilesToSearch(const std::string& table_id,
const DatesT& partition, const DatesT& partition,
DatePartionedTableFilesSchema& files) = 0; DatePartionedTableFilesSchema& files) = 0;
......
...@@ -238,7 +238,7 @@ TEST_F(MetaTest, TABLE_FILES_TEST) { ...@@ -238,7 +238,7 @@ TEST_F(MetaTest, TABLE_FILES_TEST) {
ASSERT_EQ(files.size(), to_index_files_cnt); ASSERT_EQ(files.size(), to_index_files_cnt);
meta::DatesT dates = {table_file.date}; meta::DatesT dates = {table_file.date};
status = impl_->files_to_search(table_id, dates, dated_files); status = impl_->FilesToSearch(table_id, dates, dated_files);
ASSERT_TRUE(status.ok()); ASSERT_TRUE(status.ok());
ASSERT_EQ(dated_files[table_file.date].size(), ASSERT_EQ(dated_files[table_file.date].size(),
to_index_files_cnt+raw_files_cnt+index_files_cnt); to_index_files_cnt+raw_files_cnt+index_files_cnt);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册