diff options
author | Tor Egge <Tor.Egge@online.no> | 2022-10-11 12:30:17 +0200 |
---|---|---|
committer | Tor Egge <Tor.Egge@online.no> | 2022-10-11 12:30:17 +0200 |
commit | 3b6a6f18ca3a0037035373cb2049661d95c16641 (patch) | |
tree | e7b488108e20ee4f87b68d63f37e5fc62940801b /searchlib | |
parent | 6ddc05137b76e149de29692eda592ff9b2f2dab7 (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.cpp | 5 | ||||
-rw-r--r-- | searchlib/src/vespa/searchlib/index/empty_doc_builder.h | 5 |
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; } }; } |