diff options
Diffstat (limited to 'searchcore')
-rw-r--r-- | searchcore/src/vespa/searchcore/proton/matching/query.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/matching/query.cpp b/searchcore/src/vespa/searchcore/proton/matching/query.cpp index b254fd1b4b6..26d35998dd3 100644 --- a/searchcore/src/vespa/searchcore/proton/matching/query.cpp +++ b/searchcore/src/vespa/searchcore/proton/matching/query.cpp @@ -189,6 +189,13 @@ void Query::optimize() { _blueprint = Blueprint::optimize(std::move(_blueprint)); + if (_blueprint->getState().want_global_filter()) { + // XXX we need to somehow compute a real global filter + std::shared_ptr<search::BitVector> empty_global_filter; + _blueprint->set_global_filter(empty_global_filter); + // optimized order may change after accounting for global filter: + _blueprint = Blueprint::optimize(std::move(_blueprint)); + } LOG(debug, "optimized blueprint:\n%s\n", _blueprint->asString().c_str()); } |