summaryrefslogtreecommitdiffstats
path: root/streamingvisitors
diff options
context:
space:
mode:
authorGeir Storli <geirst@yahooinc.com>2022-07-06 10:58:28 +0200
committerGitHub <noreply@github.com>2022-07-06 10:58:28 +0200
commit59bbee7e7130e482502761688057c4908d021682 (patch)
treefde586bfeddc0c057904d358ab830a978c34078c /streamingvisitors
parent23fa335ada7f385ea3c28f35618f564a927bee64 (diff)
parentd2b1b8857eb0f36a111af394509eca1a66d121b8 (diff)
Merge pull request #23372 from vespa-engine/toregge/add-insert-summary-field-member-function-to-docsum-store-document-interface
Add insert_summary_field member function to IDoscumStoreDocument.
Diffstat (limited to 'streamingvisitors')
-rw-r--r--streamingvisitors/src/vespa/vsm/vsm/docsumfilter.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/streamingvisitors/src/vespa/vsm/vsm/docsumfilter.cpp b/streamingvisitors/src/vespa/vsm/vsm/docsumfilter.cpp
index a5fe08da605..5341379fe96 100644
--- a/streamingvisitors/src/vespa/vsm/vsm/docsumfilter.cpp
+++ b/streamingvisitors/src/vespa/vsm/vsm/docsumfilter.cpp
@@ -134,6 +134,7 @@ public:
DocsumStoreVsmDocument(const document::Document* document);
~DocsumStoreVsmDocument() override;
std::unique_ptr<document::FieldValue> get_field_value(const vespalib::string& field_name) const override;
+ void insert_summary_field(const vespalib::string& field_name, vespalib::slime::Inserter& inserter) const override;
};
DocsumStoreVsmDocument::DocsumStoreVsmDocument(const document::Document* document)
@@ -158,6 +159,19 @@ DocsumStoreVsmDocument::get_field_value(const vespalib::string& field_name) cons
return {};
}
+void
+DocsumStoreVsmDocument::insert_summary_field(const vespalib::string& field_name, vespalib::slime::Inserter& inserter) const
+{
+ auto field_value = get_field_value(field_name);
+ if (field_value) {
+ CheckUndefinedValueVisitor check_undefined;
+ field_value->accept(check_undefined);
+ if (!check_undefined.is_undefined()) {
+ SummaryFieldConverter::insert_summary_field(false, *field_value, inserter);
+ }
+ }
+}
+
}
FieldPath