diff --git a/src/cpp/include/list_scanning.h b/src/cpp/include/list_scanning.h index 2907581e..61cce709 100644 --- a/src/cpp/include/list_scanning.h +++ b/src/cpp/include/list_scanning.h @@ -285,7 +285,7 @@ inline void scan_list_with_ids_l2(const float *query_vec, int list_size, int d, TopkBuffer &buffer, - vector bitmap) { + const vector &bitmap) { const float *vec = list_vecs; if (bitmap.size() == 0) { @@ -311,7 +311,7 @@ inline void scan_list(const float *query_vec, int d, TopkBuffer &buffer, faiss::MetricType metric = faiss::METRIC_L2, - vector bitmap = {}) { + const vector &bitmap = {}) { // Dispatch based on metric type and whether list_ids is provided. if (metric == faiss::METRIC_INNER_PRODUCT) { if (list_ids == nullptr) diff --git a/src/cpp/src/query_coordinator.cpp b/src/cpp/src/query_coordinator.cpp index 227d8193..da9a86d7 100644 --- a/src/cpp/src/query_coordinator.cpp +++ b/src/cpp/src/query_coordinator.cpp @@ -476,9 +476,9 @@ shared_ptr QueryCoordinator::worker_scan( std::vector create_bitmap(const std::shared_ptr 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 bitmap(list_size, false); std::shared_ptr filter_attribute_column = attributes_table->GetColumnByName(filter_column); @@ -513,9 +513,9 @@ std::vector create_bitmap(const std::shared_ptr attributes_t void filter_out_vectors(const std::shared_ptr 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 filter_attribute_column = attributes_table->GetColumnByName(filter_column); @@ -625,20 +625,6 @@ shared_ptr QueryCoordinator::serial_scan(Tensor x, Tensor partitio std::shared_ptr 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 id_array = nullptr; - std::shared_ptr price_array = nullptr; - - std::unordered_map id_to_price; - - if (partition_attributes_table != nullptr) { - id_array = std::static_pointer_cast(partition_attributes_table->GetColumnByName("id")->chunk(0)); - price_array = std::static_pointer_cast(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 bitmap = {};