diff options
Diffstat (limited to 'streamingvisitors')
4 files changed, 16 insertions, 12 deletions
diff --git a/streamingvisitors/src/tests/querywrapper/querywrapper.cpp b/streamingvisitors/src/tests/querywrapper/querywrapper.cpp index 741ef31ca3a..46fb90a51e8 100644 --- a/streamingvisitors/src/tests/querywrapper/querywrapper.cpp +++ b/streamingvisitors/src/tests/querywrapper/querywrapper.cpp @@ -1,4 +1,5 @@ // Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + #include <vespa/vespalib/testkit/testapp.h> #include <vespa/searchlib/query/tree/querybuilder.h> #include <vespa/searchlib/query/tree/simplequery.h> @@ -23,7 +24,7 @@ public: void QueryWrapperTest::testQueryWrapper() { - EmptyQueryNodeResult empty; + QueryNodeResultFactory empty; PhraseQueryNode * null = NULL; { QueryBuilder<SimpleQueryNodeTypes> builder; diff --git a/streamingvisitors/src/vespa/searchvisitor/querytermdata.cpp b/streamingvisitors/src/vespa/searchvisitor/querytermdata.cpp index 2cabc36ea96..0f40277bb86 100644 --- a/streamingvisitors/src/vespa/searchvisitor/querytermdata.cpp +++ b/streamingvisitors/src/vespa/searchvisitor/querytermdata.cpp @@ -6,7 +6,5 @@ using namespace search::fef; namespace storage { -IMPLEMENT_DUPLICATE(QueryTermData); - } // namespace storage diff --git a/streamingvisitors/src/vespa/searchvisitor/querytermdata.h b/streamingvisitors/src/vespa/searchvisitor/querytermdata.h index ef6d96e6e39..5f54146ede1 100644 --- a/streamingvisitors/src/vespa/searchvisitor/querytermdata.h +++ b/streamingvisitors/src/vespa/searchvisitor/querytermdata.h @@ -15,16 +15,21 @@ class QueryTermData : public search::QueryNodeResultBase { private: search::fef::SimpleTermData _termData; - public: - DUPLICATE(QueryTermData); // create duplicate function - - virtual bool evaluate() const { return true; } - virtual void reset() {} - virtual bool getRewriteFloatTerms() const { return true; } - + QueryTermData * clone() const override { return new QueryTermData(); } + bool evaluate() const override { return true; } + void reset() override { } search::fef::SimpleTermData &getTermData() { return _termData; } }; +class QueryTermDataFactory final : public search::QueryNodeResultFactory { +public: + std::unique_ptr<search::QueryNodeResultBase> create() const override { + return std::make_unique<QueryTermData>(); + } + bool getRewriteFloatTerms() const override { return true; } +}; + + } // namespace storage diff --git a/streamingvisitors/src/vespa/searchvisitor/searchvisitor.cpp b/streamingvisitors/src/vespa/searchvisitor/searchvisitor.cpp index cf39afff088..c2bac2f6820 100644 --- a/streamingvisitors/src/vespa/searchvisitor/searchvisitor.cpp +++ b/streamingvisitors/src/vespa/searchvisitor/searchvisitor.cpp @@ -286,8 +286,8 @@ void SearchVisitor::init(const Parameters & params) Parameters::ValueRef queryBlob; if ( params.get("query", queryBlob) ) { LOG(spam, "Received query blob of %zd bytes", queryBlob.size()); - QueryTermData resultAddOn; - _query = search::Query(resultAddOn, search::QueryPacketT(queryBlob.data(), queryBlob.size())); + QueryTermDataFactory addOnFactory; + _query = search::Query(addOnFactory, search::QueryPacketT(queryBlob.data(), queryBlob.size())); LOG(debug, "Query tree: '%s'", _query.asString().c_str()); _searchBuffer->reserve(0x10000); |