Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/cpp/include/list_scanning.h
Original file line number Diff line number Diff line change
Expand Up @@ -285,7 +285,7 @@ inline void scan_list_with_ids_l2(const float *query_vec,
int list_size,
int d,
TopkBuffer &buffer,
vector<bool> bitmap) {
const vector<bool> &bitmap) {
const float *vec = list_vecs;

if (bitmap.size() == 0) {
Expand All @@ -311,7 +311,7 @@ inline void scan_list(const float *query_vec,
int d,
TopkBuffer &buffer,
faiss::MetricType metric = faiss::METRIC_L2,
vector<bool> bitmap = {}) {
const vector<bool> &bitmap = {}) {
// Dispatch based on metric type and whether list_ids is provided.
if (metric == faiss::METRIC_INNER_PRODUCT) {
if (list_ids == nullptr)
Expand Down
26 changes: 6 additions & 20 deletions src/cpp/src/query_coordinator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -476,9 +476,9 @@ shared_ptr<SearchResult> QueryCoordinator::worker_scan(
std::vector<bool> create_bitmap(const std::shared_ptr<arrow::Table> attributes_table,
int64_t *list_ids,
int64_t list_size,
string filter_name,
string filter_column,
arrow::Datum filter_value) {
const string &filter_name,
const string &filter_column,
const arrow::Datum &filter_value) {

std::vector<bool> bitmap(list_size, false);
std::shared_ptr<arrow::ChunkedArray> filter_attribute_column = attributes_table->GetColumnByName(filter_column);
Expand Down Expand Up @@ -513,9 +513,9 @@ std::vector<bool> create_bitmap(const std::shared_ptr<arrow::Table> attributes_t
void filter_out_vectors(const std::shared_ptr<arrow::Table> attributes_table,
TopkBuffer &topk_buf,
int buffer_size,
string filter_name,
string filter_column,
arrow::Datum filter_value) {
string &filter_name,
string &filter_column,
arrow::Datum &filter_value) {

auto scanned_vectors = topk_buf.topk_;
std::shared_ptr<arrow::ChunkedArray> filter_attribute_column = attributes_table->GetColumnByName(filter_column);
Expand Down Expand Up @@ -625,20 +625,6 @@ shared_ptr<SearchResult> QueryCoordinator::serial_scan(Tensor x, Tensor partitio
std::shared_ptr<arrow::Table> partition_attributes_table =
partition_manager_->partition_store_->partitions_[pi]->attributes_table_;
int64_t list_size = partition_manager_->partition_store_->list_size(pi);

std::shared_ptr<arrow::Int64Array> id_array = nullptr;
std::shared_ptr<arrow::DoubleArray> price_array = nullptr;

std::unordered_map<int64_t, int64_t> id_to_price;

if (partition_attributes_table != nullptr) {
id_array = std::static_pointer_cast<arrow::Int64Array>(partition_attributes_table->GetColumnByName("id")->chunk(0));
price_array = std::static_pointer_cast<arrow::DoubleArray>(partition_attributes_table->GetColumnByName("price")->chunk(0));
int64_t length = id_array->length();
for (int64_t i = 0; i < id_array->length(); i++) {
id_to_price[id_array->Value(i)] = price_array->Value(i);
}
}

std::vector<bool> bitmap = {};

Expand Down
Loading