diff options
author | Arne Juul <arnej@verizonmedia.com> | 2020-05-13 11:37:00 +0000 |
---|---|---|
committer | Arne Juul <arnej@verizonmedia.com> | 2020-05-13 11:37:00 +0000 |
commit | 5319a2c4c0614d8fd1dd635a29a92922fd73d0e7 (patch) | |
tree | 7dffb5acd4992ceb3aaf32ff14ee9df388b9b2b7 /searchlib | |
parent | ee292c3b215c8609513e50e4de52afb26912fc94 (diff) |
constify GlobalFilter passing
Diffstat (limited to 'searchlib')
6 files changed, 10 insertions, 11 deletions
diff --git a/searchlib/src/tests/queryeval/blueprint/mysearch.h b/searchlib/src/tests/queryeval/blueprint/mysearch.h index ae1d47e8403..1f2057a4a56 100644 --- a/searchlib/src/tests/queryeval/blueprint/mysearch.h +++ b/searchlib/src/tests/queryeval/blueprint/mysearch.h @@ -132,7 +132,7 @@ public: set_cost_tier(value); return *this; } - void set_global_filter(GlobalFilter &) override { + void set_global_filter(const GlobalFilter &) override { _got_global_filter = true; } bool got_global_filter() const { return _got_global_filter; } diff --git a/searchlib/src/vespa/searchlib/queryeval/blueprint.cpp b/searchlib/src/vespa/searchlib/queryeval/blueprint.cpp index 190ce054b00..ff19041e16c 100644 --- a/searchlib/src/vespa/searchlib/queryeval/blueprint.cpp +++ b/searchlib/src/vespa/searchlib/queryeval/blueprint.cpp @@ -105,7 +105,7 @@ Blueprint::get_replacement() } void -Blueprint::set_global_filter(GlobalFilter &) +Blueprint::set_global_filter(const GlobalFilter &) { } @@ -371,7 +371,7 @@ IntermediateBlueprint::optimize(Blueprint* &self) } void -IntermediateBlueprint::set_global_filter(GlobalFilter &global_filter) +IntermediateBlueprint::set_global_filter(const GlobalFilter &global_filter) { for (auto & child : _children) { if (child->getState().want_global_filter()) { diff --git a/searchlib/src/vespa/searchlib/queryeval/blueprint.h b/searchlib/src/vespa/searchlib/queryeval/blueprint.h index 2f944b9271b..927f57907f8 100644 --- a/searchlib/src/vespa/searchlib/queryeval/blueprint.h +++ b/searchlib/src/vespa/searchlib/queryeval/blueprint.h @@ -187,7 +187,7 @@ public: virtual bool supports_termwise_children() const { return false; } virtual bool always_needs_unpack() const { return false; } - virtual void set_global_filter(GlobalFilter &global_filter); + virtual void set_global_filter(const GlobalFilter &global_filter); virtual const State &getState() const = 0; const Blueprint &root() const; @@ -274,7 +274,7 @@ public: void setDocIdLimit(uint32_t limit) override final; void optimize(Blueprint* &self) override final; - void set_global_filter(GlobalFilter &global_filter) override; + void set_global_filter(const GlobalFilter &global_filter) override; IndexList find(const IPredicate & check) const; size_t childCnt() const { return _children.size(); } diff --git a/searchlib/src/vespa/searchlib/queryeval/global_filter.h b/searchlib/src/vespa/searchlib/queryeval/global_filter.h index 96bdb83e095..dfcb7687de4 100644 --- a/searchlib/src/vespa/searchlib/queryeval/global_filter.h +++ b/searchlib/src/vespa/searchlib/queryeval/global_filter.h @@ -27,13 +27,12 @@ public: template<typename ... Params> static std::shared_ptr<GlobalFilter> create(Params&& ... params) { - ctor_tag x; - return std::make_shared<GlobalFilter>(x, std::forward<Params>(params)...); + return std::make_shared<GlobalFilter>(ctor_tag(), std::forward<Params>(params)...); } const search::BitVector *filter() const { return bit_vector.get(); } - bool has_filter() const { return (bool)bit_vector; } + bool has_filter() const { return bool(bit_vector); } }; } // namespace diff --git a/searchlib/src/vespa/searchlib/queryeval/nearest_neighbor_blueprint.cpp b/searchlib/src/vespa/searchlib/queryeval/nearest_neighbor_blueprint.cpp index de9688c4b43..e78902c855e 100644 --- a/searchlib/src/vespa/searchlib/queryeval/nearest_neighbor_blueprint.cpp +++ b/searchlib/src/vespa/searchlib/queryeval/nearest_neighbor_blueprint.cpp @@ -81,7 +81,7 @@ NearestNeighborBlueprint::NearestNeighborBlueprint(const queryeval::FieldSpec& f NearestNeighborBlueprint::~NearestNeighborBlueprint() = default; void -NearestNeighborBlueprint::set_global_filter(GlobalFilter &global_filter) +NearestNeighborBlueprint::set_global_filter(const GlobalFilter &global_filter) { _global_filter = global_filter.shared_from_this(); auto nns_index = _attr_tensor.nearest_neighbor_index(); diff --git a/searchlib/src/vespa/searchlib/queryeval/nearest_neighbor_blueprint.h b/searchlib/src/vespa/searchlib/queryeval/nearest_neighbor_blueprint.h index e6506f777c3..e4732230b3a 100644 --- a/searchlib/src/vespa/searchlib/queryeval/nearest_neighbor_blueprint.h +++ b/searchlib/src/vespa/searchlib/queryeval/nearest_neighbor_blueprint.h @@ -28,7 +28,7 @@ private: const search::tensor::DistanceFunction *_dist_fun; mutable NearestNeighborDistanceHeap _distance_heap; std::vector<search::tensor::NearestNeighborIndex::Neighbor> _found_hits; - std::shared_ptr<GlobalFilter> _global_filter; + std::shared_ptr<const GlobalFilter> _global_filter; void perform_top_k(); public: @@ -42,7 +42,7 @@ public: const tensor::DenseTensorAttribute& get_attribute_tensor() const { return _attr_tensor; } const vespalib::tensor::DenseTensorView& get_query_tensor() const { return *_query_tensor; } uint32_t get_target_num_hits() const { return _target_num_hits; } - void set_global_filter(GlobalFilter &global_filter) override; + void set_global_filter(const GlobalFilter &global_filter) override; std::unique_ptr<SearchIterator> createLeafSearch(const search::fef::TermFieldMatchDataArray& tfmda, bool strict) const override; |