summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2022-10-11 12:30:17 +0200
committerTor Egge <Tor.Egge@online.no>2022-10-11 12:30:17 +0200
commit3b6a6f18ca3a0037035373cb2049661d95c16641 (patch)
treee7b488108e20ee4f87b68d63f37e5fc62940801b /searchlib
parent6ddc05137b76e149de29692eda592ff9b2f2dab7 (diff)
Stop using search::index::DocBuilder in DocumentFieldPopulator unit
test and document subdbs unit test.
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/vespa/searchlib/index/empty_doc_builder.cpp5
-rw-r--r--searchlib/src/vespa/searchlib/index/empty_doc_builder.h5
2 files changed, 9 insertions, 1 deletions
diff --git a/searchlib/src/vespa/searchlib/index/empty_doc_builder.cpp b/searchlib/src/vespa/searchlib/index/empty_doc_builder.cpp
index 45588791926..6515d896917 100644
--- a/searchlib/src/vespa/searchlib/index/empty_doc_builder.cpp
+++ b/searchlib/src/vespa/searchlib/index/empty_doc_builder.cpp
@@ -4,6 +4,7 @@
#include <vespa/document/datatype/documenttype.h>
#include <vespa/document/fieldvalue/document.h>
#include <vespa/document/repo/documenttyperepo.h>
+#include <vespa/document/repo/document_type_repo_factory.h>
#include <vespa/document/repo/configbuilder.h>
#include <cassert>
@@ -11,6 +12,7 @@ using document::DataType;
using document::Document;
using document::DocumentId;
using document::DocumentTypeRepo;
+using document::DocumentTypeRepoFactory;
namespace search::index {
@@ -32,7 +34,8 @@ get_document_types_config(EmptyDocBuilder::AddFieldsType add_fields)
}
EmptyDocBuilder::EmptyDocBuilder(AddFieldsType add_fields)
- : _repo(std::make_shared<const DocumentTypeRepo>(get_document_types_config(add_fields))),
+ : _document_types_config(std::make_shared<const DocumenttypesConfig>(get_document_types_config(add_fields))),
+ _repo(DocumentTypeRepoFactory::make(*_document_types_config)),
_document_type(_repo->getDocumentType("searchdocument"))
{
}
diff --git a/searchlib/src/vespa/searchlib/index/empty_doc_builder.h b/searchlib/src/vespa/searchlib/index/empty_doc_builder.h
index d4b54359f87..7e734af4e95 100644
--- a/searchlib/src/vespa/searchlib/index/empty_doc_builder.h
+++ b/searchlib/src/vespa/searchlib/index/empty_doc_builder.h
@@ -2,6 +2,7 @@
#pragma once
+#include <vespa/document/config/documenttypes_config_fwd.h>
#include <vespa/vespalib/stllike/string.h>
#include <functional>
#include <memory>
@@ -12,6 +13,7 @@ class Document;
class DocumentType;
class DocumentTypeRepo;
}
+namespace document::config::internal { class InternalDocumenttypesType; }
namespace document::config_builder { struct Struct; }
namespace search::index {
@@ -20,6 +22,8 @@ namespace search::index {
* Class used to make empty search documents.
*/
class EmptyDocBuilder {
+ using DocumenttypesConfig = const document::config::internal::InternalDocumenttypesType;
+ std::shared_ptr<const DocumenttypesConfig> _document_types_config;
std::shared_ptr<const document::DocumentTypeRepo> _repo;
const document::DocumentType* _document_type;
public:
@@ -31,6 +35,7 @@ public:
const document::DocumentType& get_document_type() const noexcept { return *_document_type; }
std::unique_ptr<document::Document> make_document(vespalib::string document_id);
const document::DataType &get_data_type(const vespalib::string &name) const;
+ const DocumenttypesConfig& get_documenttypes_config() const noexcept { return *_document_types_config; }
};
}