Skip to content

Commit c184927

Browse files
authored
Cleanup C++ group code (#331)
1 parent 6a4fd30 commit c184927

File tree

6 files changed

+23
-54
lines changed

6 files changed

+23
-54
lines changed

src/include/index/index_defs.h

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -98,25 +98,15 @@ using StorageFormat =
9898
}},
9999
{"0.3",
100100
{
101-
// From external/data/pytest-170/test_ivf_flat_ingestion_f320/array
102-
// (generated by test/test_ingestion.py on 2023-12-01)
103-
// Arrays comprising the index (note that temp_data has these as well)
104101
{"centroids_array_name", "partition_centroids"},
105102
{"index_array_name", "partition_indexes"},
106103
{"ids_array_name", "shuffled_vector_ids"},
107104
{"parts_array_name", "shuffled_vectors"},
108-
109-
// temp_data is a group, not an array
110-
{"partial_write_array_name", "temp_data"},
111-
112-
// In storage_formats.py but not part of group?
113105
{"input_vectors_array_name", "input_vectors"},
114106
{"external_ids_array_name", "external_ids"},
115-
{"updates_array_name", "updates"},
116-
117-
// Not arrays
118-
// @todo Where are these stored?
107+
{"partial_write_array_dir", "temp_data"},
119108
{"default_attr_filters", "zstd"},
109+
{"updates_array_name", "updates"},
120110
{"support_timetravel", "true"},
121111
}},
122112
};

src/include/index/index_group.h

Lines changed: 4 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -457,29 +457,11 @@ class base_index_group {
457457
* Getters for names and uris
458458
**************************************************************************/
459459

460-
[[nodiscard]] auto partial_write_array_dir() const {
461-
return array_key_to_uri("partial_write_array_dir");
460+
[[nodiscard]] auto ids_uri() const {
461+
return array_key_to_uri("ids_array_name");
462462
}
463-
[[nodiscard]] auto input_vectors_uri() const {
464-
return array_key_to_uri("input_vectors_array_name");
465-
}
466-
[[nodiscard]] auto external_ids_uri() const {
467-
return array_key_to_uri("external_ids_array_name");
468-
}
469-
[[nodiscard]] auto updates_array_uri() const {
470-
return array_key_to_uri("updates_array_name");
471-
}
472-
[[nodiscard]] auto partial_write_array_name() const {
473-
return array_key_to_array_name("partial_write_array_dir");
474-
}
475-
[[nodiscard]] auto input_vectors_array_name() const {
476-
return array_key_to_array_name("input_vectors_array_name");
477-
}
478-
[[nodiscard]] auto external_ids_array_name() const {
479-
return array_key_to_array_name("external_ids_array_name");
480-
}
481-
[[nodiscard]] auto updates_array_name() const {
482-
return array_key_to_array_name("updates_array_name");
463+
[[nodiscard]] auto ids_array_name() const {
464+
return array_key_to_array_name("ids_array_name");
483465
}
484466
[[nodiscard]] const std::reference_wrapper<const tiledb::Context> cached_ctx()
485467
const {

src/include/index/ivf_flat_group.h

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ class ivf_flat_index_group
112112
auto append_num_partitions(size_t size) {
113113
metadata_.partition_history_.push_back(size);
114114
}
115-
auto get_all_num_partitions() {
115+
auto get_all_num_partitions() const {
116116
return metadata_.partition_history_;
117117
}
118118

@@ -129,9 +129,6 @@ class ivf_flat_index_group
129129
[[nodiscard]] auto parts_uri() const {
130130
return this->array_key_to_uri("parts_array_name");
131131
}
132-
[[nodiscard]] auto ids_uri() const {
133-
return this->array_key_to_uri("ids_array_name");
134-
}
135132
[[nodiscard]] auto indices_uri() const {
136133
return this->array_key_to_uri("index_array_name");
137134
}
@@ -141,9 +138,6 @@ class ivf_flat_index_group
141138
[[nodiscard]] auto parts_array_name() const {
142139
return this->array_key_to_array_name("parts_array_name");
143140
}
144-
[[nodiscard]] auto ids_array_name() const {
145-
return this->array_key_to_array_name("ids_array_name");
146-
}
147141
[[nodiscard]] auto indices_array_name() const {
148142
return this->array_key_to_array_name("index_array_name");
149143
}
@@ -213,8 +207,13 @@ class ivf_flat_index_group
213207
tiledb_helpers::add_to_group(write_group, parts_uri(), parts_array_name());
214208

215209
create_empty_for_vector<typename index_type::id_type>(
216-
cached_ctx_, ids_uri(), default_domain, tile_size, default_compression);
217-
tiledb_helpers::add_to_group(write_group, ids_uri(), ids_array_name());
210+
cached_ctx_,
211+
this->ids_uri(),
212+
default_domain,
213+
tile_size,
214+
default_compression);
215+
tiledb_helpers::add_to_group(
216+
write_group, this->ids_uri(), this->ids_array_name());
218217

219218
create_empty_for_vector<typename index_type::indices_type>(
220219
cached_ctx_,

src/include/index/vamana_group.h

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ class vamana_index_group : public base_index_group<vamana_index_group<Index>> {
135135
auto append_num_edges(size_t size) {
136136
metadata_.num_edges_history_.push_back(size);
137137
}
138-
auto get_all_num_edges() {
138+
auto get_all_num_edges() const {
139139
return metadata_.num_edges_history_;
140140
}
141141
auto set_num_edges(size_t size) {
@@ -184,9 +184,6 @@ class vamana_index_group : public base_index_group<vamana_index_group<Index>> {
184184
[[nodiscard]] auto feature_vectors_uri() const {
185185
return this->array_key_to_uri("parts_array_name");
186186
}
187-
[[nodiscard]] auto feature_vector_ids_uri() const {
188-
return this->array_key_to_uri("ids_array_name");
189-
}
190187
[[nodiscard]] auto adjacency_scores_uri() const {
191188
return this->array_key_to_uri("adjacency_scores_array_name");
192189
}
@@ -199,9 +196,6 @@ class vamana_index_group : public base_index_group<vamana_index_group<Index>> {
199196
[[nodiscard]] auto feature_vectors_array_name() const {
200197
return this->array_key_to_array_name("parts_array_name");
201198
}
202-
[[nodiscard]] auto feature_vector_ids_name() const {
203-
return this->array_key_to_array_name("ids_array_name");
204-
}
205199
[[nodiscard]] auto adjacency_scores_array_name() const {
206200
return this->array_key_to_array_name("adjacency_scores_array_name");
207201
}
@@ -286,12 +280,12 @@ class vamana_index_group : public base_index_group<vamana_index_group<Index>> {
286280

287281
create_empty_for_vector<typename index_type::id_type>(
288282
cached_ctx_,
289-
feature_vector_ids_uri(),
283+
this->ids_uri(),
290284
default_domain,
291285
tile_size,
292286
default_compression);
293287
tiledb_helpers::add_to_group(
294-
write_group, feature_vector_ids_uri(), feature_vector_ids_name());
288+
write_group, this->ids_uri(), this->ids_array_name());
295289

296290
create_empty_for_vector<typename index_type::score_type>(
297291
cached_ctx_,

src/include/index/vamana_index.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -521,7 +521,7 @@ class vamana_index {
521521
std::move(tdbColMajorPreLoadMatrixWithIds<feature_type, id_type>(
522522
group_->cached_ctx(),
523523
group_->feature_vectors_uri(),
524-
group_->feature_vector_ids_uri(),
524+
group_->ids_uri(),
525525
dimension_,
526526
num_vectors_,
527527
0,
@@ -871,7 +871,7 @@ class vamana_index {
871871
write_vector(
872872
ctx,
873873
feature_vectors_.ids(),
874-
write_group.feature_vector_ids_uri(),
874+
write_group.ids_uri(),
875875
0,
876876
false,
877877
timestamp_);

src/include/test/unit_vamana_index.cc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1238,6 +1238,10 @@ TEST_CASE("vamana: vamana_index write and read", "[vamana]") {
12381238
tiledb::Context ctx;
12391239
std::string vamana_index_uri =
12401240
(std::filesystem::temp_directory_path() / "tmp_vamana_index").string();
1241+
tiledb::VFS vfs(ctx);
1242+
if (vfs.is_dir(vamana_index_uri)) {
1243+
vfs.remove_dir(vamana_index_uri);
1244+
}
12411245
auto training_set = tdbColMajorMatrix<float>(ctx, siftsmall_inputs_uri, 0);
12421246
load(training_set);
12431247
std::vector<siftsmall_ids_type> ids(num_vectors(training_set));

0 commit comments

Comments
 (0)