Skip to content

Commit 83bcc2b

Browse files
authored
Refactor and cleanup index_group.h (#333)
1 parent c184927 commit 83bcc2b

File tree

3 files changed

+18
-47
lines changed

3 files changed

+18
-47
lines changed

src/include/index/index_group.h

Lines changed: 10 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -107,17 +107,13 @@ class base_index_group {
107107

108108
// Set of the names that are used in the group for this version
109109
std::unordered_set<std::string> valid_array_names_;
110-
std::unordered_set<std::string> valid_key_names_;
110+
std::unordered_set<std::string> valid_array_keys_;
111111

112-
// Set of names of arrays that are part of the group. They either have
113-
// been read from the group or written to the group.
114-
std::unordered_set<std::string> active_array_names_;
115-
116-
std::unordered_map<std::string, std::string> array_name_map_;
112+
std::unordered_map<std::string, std::string> array_key_to_array_name_;
117113

118114
/** Check validity of key name */
119115
constexpr bool is_valid_key_name(const std::string& key_name) const noexcept {
120-
return valid_key_names_.contains(key_name);
116+
return valid_array_keys_.contains(key_name);
121117
}
122118

123119
/** Check validity of array name */
@@ -126,18 +122,13 @@ class base_index_group {
126122
return valid_array_names_.contains(array_name);
127123
}
128124

129-
/** Check whether the array has been put into this group */
130-
constexpr bool is_active_array_name(
131-
const std::string& array_name) const noexcept {
132-
return active_array_names_.contains(array_name);
133-
}
134-
135125
/** Lookup an array name given an array key */
136126
constexpr auto array_key_to_array_name(const std::string& array_key) const {
137127
if (!is_valid_key_name(array_key)) {
138128
throw std::runtime_error("Invalid array key: " + array_key);
139129
}
140-
return array_key_to_array_name_from_map(array_name_map_, array_key);
130+
return array_key_to_array_name_from_map(
131+
array_key_to_array_name_, array_key);
141132
};
142133

143134
/** Create the set of valid key names and array names */
@@ -146,9 +137,9 @@ class base_index_group {
146137
throw std::runtime_error("Version not set.");
147138
}
148139
for (auto&& [array_key, array_name] : storage_formats[version_]) {
149-
valid_key_names_.insert(array_key);
140+
valid_array_keys_.insert(array_key);
150141
valid_array_names_.insert(array_name);
151-
array_name_map_[array_key] = array_name;
142+
array_key_to_array_name_[array_key] = array_name;
152143
}
153144
static_cast<group_type*>(this)->append_valid_array_names_impl();
154145
}
@@ -166,7 +157,6 @@ class base_index_group {
166157
throw std::runtime_error(
167158
"Invalid array name in add_array: " + array_name);
168159
}
169-
active_array_names_.insert(array_name);
170160

171161
std::filesystem::path uri = array_name_to_uri(array_name);
172162

@@ -211,9 +201,7 @@ class base_index_group {
211201
if (!name || name->empty()) {
212202
throw std::runtime_error("Name is empty.");
213203
}
214-
if (is_valid_array_name(*name)) {
215-
active_array_names_.insert(*name);
216-
} else {
204+
if (!is_valid_array_name(*name)) {
217205
throw std::runtime_error(
218206
"Invalid array name in group: " + std::string(*name));
219207
}
@@ -427,18 +415,6 @@ class base_index_group {
427415
return metadata_.base_sizes_;
428416
}
429417

430-
auto get_all_active_array_names() {
431-
return active_array_names_;
432-
}
433-
434-
auto get_all_active_uris() {
435-
std::vector<std::string> uris;
436-
for (auto&& array_name : active_array_names_) {
437-
uris.push_back(array_name_to_uri(array_name));
438-
}
439-
return uris;
440-
}
441-
442418
auto get_temp_size() const {
443419
return metadata_.temp_size_;
444420
}
@@ -505,10 +481,10 @@ class base_index_group {
505481
if (valid_array_names_ != rhs.valid_array_names_) {
506482
return false;
507483
}
508-
if (size(valid_key_names_) != size(rhs.valid_key_names_)) {
484+
if (size(valid_array_keys_) != size(rhs.valid_array_keys_)) {
509485
return false;
510486
}
511-
if (valid_key_names_ != rhs.valid_key_names_) {
487+
if (valid_array_keys_ != rhs.valid_array_keys_) {
512488
return false;
513489
}
514490
if (!metadata_.compare_metadata(rhs.metadata_)) {
@@ -542,11 +518,6 @@ class base_index_group {
542518
std::cout << *name << " " << member.uri() << std::endl;
543519
}
544520
std::cout << "-------------------------------------------------------\n";
545-
std::cout << "# Active arrays:" << std::endl;
546-
for (auto&& array_name : active_array_names_) {
547-
std::cout << array_name << std::endl;
548-
}
549-
std::cout << "-------------------------------------------------------\n";
550521
std::cout << "# Metadata:" << std::endl;
551522
std::cout << "-------------------------------------------------------\n";
552523
metadata_.dump();

src/include/index/ivf_flat_group.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,12 +61,12 @@ class ivf_flat_index_group
6161
using Base = base_index_group<ivf_flat_index_group>;
6262
// using Base::Base;
6363

64-
using Base::array_name_map_;
64+
using Base::array_key_to_array_name_;
6565
using Base::cached_ctx_;
6666
using Base::group_uri_;
6767
using Base::metadata_;
68+
using Base::valid_array_keys_;
6869
using Base::valid_array_names_;
69-
using Base::valid_key_names_;
7070
using Base::version_;
7171

7272
using index_type = Index;
@@ -94,9 +94,9 @@ class ivf_flat_index_group
9494
public:
9595
void append_valid_array_names_impl() {
9696
for (auto&& [array_key, array_name] : ivf_flat_storage_formats[version_]) {
97-
valid_key_names_.insert(array_key);
97+
valid_array_keys_.insert(array_key);
9898
valid_array_names_.insert(array_name);
99-
array_name_map_[array_key] = array_name;
99+
array_key_to_array_name_[array_key] = array_name;
100100
}
101101
}
102102

src/include/index/vamana_group.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,12 +83,12 @@ class vamana_index_group : public base_index_group<vamana_index_group<Index>> {
8383
using Base = base_index_group<vamana_index_group>;
8484
// using Base::Base;
8585

86-
using Base::array_name_map_;
86+
using Base::array_key_to_array_name_;
8787
using Base::cached_ctx_;
8888
using Base::group_uri_;
8989
using Base::metadata_;
90+
using Base::valid_array_keys_;
9091
using Base::valid_array_names_;
91-
using Base::valid_key_names_;
9292
using Base::version_;
9393

9494
using index_type = Index;
@@ -117,9 +117,9 @@ class vamana_index_group : public base_index_group<vamana_index_group<Index>> {
117117
public:
118118
void append_valid_array_names_impl() {
119119
for (auto&& [array_key, array_name] : vamana_storage_formats[version_]) {
120-
valid_key_names_.insert(array_key);
120+
valid_array_keys_.insert(array_key);
121121
valid_array_names_.insert(array_name);
122-
array_name_map_[array_key] = array_name;
122+
array_key_to_array_name_[array_key] = array_name;
123123
}
124124
}
125125

0 commit comments

Comments
 (0)