aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-03-07 16:02:19 +0100
committerGitHub <noreply@github.com>2022-03-07 16:02:19 +0100
commit2fef7d4a9706dab136cad7edd384e289263726fd (patch)
tree6900d2191ebe73e3c9f41281bdbaa6d54f21acf7 /searchlib
parentdd8ce8c64faaf340eea43e09115c462ad923746b (diff)
parent277edccb6a50928b8d39ba36e12aecfd6aa45d07 (diff)
Merge pull request #21568 from vespa-engine/balder/gc-convenience-interfaces-for-assigning-primitive-fieldvalues
GC redundant convenience wasy of assigning primitive field values.
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/apps/tests/memoryindexstress_test.cpp2
-rw-r--r--searchlib/src/tests/docstore/document_store_visitor/document_store_visitor_test.cpp8
-rw-r--r--searchlib/src/tests/docstore/logdatastore/logdatastore_test.cpp6
-rw-r--r--searchlib/src/tests/grouping/grouping_serialization_test.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/expression/documentaccessornode.h10
-rw-r--r--searchlib/src/vespa/searchlib/expression/documentfieldnode.h1
-rw-r--r--searchlib/src/vespa/searchlib/memoryindex/field_inverter.h9
-rw-r--r--searchlib/src/vespa/searchlib/memoryindex/invert_task.cpp1
8 files changed, 25 insertions, 13 deletions
diff --git a/searchlib/src/apps/tests/memoryindexstress_test.cpp b/searchlib/src/apps/tests/memoryindexstress_test.cpp
index fcac0be8f85..07747a66892 100644
--- a/searchlib/src/apps/tests/memoryindexstress_test.cpp
+++ b/searchlib/src/apps/tests/memoryindexstress_test.cpp
@@ -137,7 +137,7 @@ setFieldValue(Document &doc, const vespalib::string &fieldName,
const vespalib::string &fieldString)
{
std::unique_ptr<StringFieldValue> fieldValue =
- std::make_unique<StringFieldValue>(fieldString);
+ StringFieldValue::make(fieldString);
document::FixedTypeRepo repo(*doc.getRepo(), doc.getType());
tokenizeStringFieldValue(repo, *fieldValue);
doc.setFieldValue(doc.getField(fieldName), std::move(fieldValue));
diff --git a/searchlib/src/tests/docstore/document_store_visitor/document_store_visitor_test.cpp b/searchlib/src/tests/docstore/document_store_visitor/document_store_visitor_test.cpp
index 072efb06a07..c08aa7ce9fc 100644
--- a/searchlib/src/tests/docstore/document_store_visitor/document_store_visitor_test.cpp
+++ b/searchlib/src/tests/docstore/document_store_visitor/document_store_visitor_test.cpp
@@ -8,6 +8,7 @@
#include <vespa/searchlib/common/bitvector.h>
#include <vespa/document/repo/documenttyperepo.h>
#include <vespa/document/datatype/documenttype.h>
+#include <vespa/document/fieldvalue/stringfieldvalue.h>
#include <vespa/document/repo/configbuilder.h>
#include <vespa/document/fieldvalue/document.h>
#include <vespa/vespalib/io/fileutil.h>
@@ -26,6 +27,7 @@ using document::Document;
using document::DocumentId;
using document::DocumentType;
using document::DocumentTypeRepo;
+using document::StringFieldValue;
using vespalib::compression::CompressionConfig;
using vespalib::asciistream;
using index::DummyFileHeaderContext;
@@ -66,9 +68,9 @@ makeDoc(const DocumentTypeRepo &repo, uint32_t i, bool before)
mainstr << (j + i * 1000) << " ";
}
mainstr << " and end field";
- doc->set("main", mainstr.c_str());
+ doc->setValue("main", StringFieldValue::make(mainstr.str()));
if (!before) {
- doc->set("extra", "foo");
+ doc->setValue("extra", StringFieldValue::make("foo"));
}
return doc;
@@ -160,7 +162,7 @@ MyRewriteVisitor::visit(uint32_t lid, const std::shared_ptr<Document> &doc)
Document::UP expDoc(makeDoc(_repo, lid, _before));
EXPECT_TRUE(*expDoc == *doc);
_valid->setBitAndMaintainCount(lid);
- doc->set("extra", "foo");
+ doc->setValue("extra", StringFieldValue::make("foo"));
}
diff --git a/searchlib/src/tests/docstore/logdatastore/logdatastore_test.cpp b/searchlib/src/tests/docstore/logdatastore/logdatastore_test.cpp
index 378babb6ee1..bb2d0177dd9 100644
--- a/searchlib/src/tests/docstore/logdatastore/logdatastore_test.cpp
+++ b/searchlib/src/tests/docstore/logdatastore/logdatastore_test.cpp
@@ -4,6 +4,7 @@
#include <vespa/document/repo/configbuilder.h>
#include <vespa/document/repo/documenttyperepo.h>
#include <vespa/document/datatype/documenttype.h>
+#include <vespa/document/fieldvalue/stringfieldvalue.h>
#include <vespa/document/fieldvalue/document.h>
#include <vespa/searchlib/docstore/chunkformats.h>
#include <vespa/searchlib/docstore/logdocumentstore.h>
@@ -19,6 +20,7 @@
#include <iomanip>
using document::BucketId;
+using document::StringFieldValue;
using namespace search::docstore;
using namespace search;
using namespace vespalib::alloc;
@@ -429,9 +431,9 @@ makeDoc(const DocumentTypeRepo &repo, uint32_t i, bool extra_field, size_t numRe
mainstr << (j + i * 1000) << " ";
}
mainstr << " and end field";
- doc->set("main", mainstr.c_str());
+ doc->setValue("main", StringFieldValue::make(mainstr.str()));
if (extra_field) {
- doc->set("extra", "foo");
+ doc->setValue("extra", StringFieldValue::make("foo"));
}
return doc;
}
diff --git a/searchlib/src/tests/grouping/grouping_serialization_test.cpp b/searchlib/src/tests/grouping/grouping_serialization_test.cpp
index ea96c698a02..39a5feab111 100644
--- a/searchlib/src/tests/grouping/grouping_serialization_test.cpp
+++ b/searchlib/src/tests/grouping/grouping_serialization_test.cpp
@@ -7,6 +7,7 @@
#include <vespa/searchlib/expression/getdocidnamespacespecificfunctionnode.h>
#include <vespa/searchlib/expression/getymumchecksumfunctionnode.h>
#include <vespa/searchlib/expression/documentfieldnode.h>
+#include <vespa/document/base/documentid.h>
#include <vespa/vespalib/testkit/test_kit.h>
#include <fstream>
#include <vespa/log/log.h>
diff --git a/searchlib/src/vespa/searchlib/expression/documentaccessornode.h b/searchlib/src/vespa/searchlib/expression/documentaccessornode.h
index 0efe7d023f6..453b8f82bf0 100644
--- a/searchlib/src/vespa/searchlib/expression/documentaccessornode.h
+++ b/searchlib/src/vespa/searchlib/expression/documentaccessornode.h
@@ -2,12 +2,14 @@
#pragma once
#include "expressionnode.h"
-#include <vespa/document/fieldvalue/document.h>
#include <vespa/vespalib/objects/objectoperation.h>
#include <vespa/vespalib/objects/objectpredicate.h>
-namespace search {
-namespace expression {
+namespace document {
+ class DocumentType;
+ class Document;
+}
+namespace search::expression {
class DocumentAccessorNode : public ExpressionNode
{
@@ -33,5 +35,3 @@ private:
};
}
-}
-
diff --git a/searchlib/src/vespa/searchlib/expression/documentfieldnode.h b/searchlib/src/vespa/searchlib/expression/documentfieldnode.h
index b85ba0f4e9b..fd3923bd4a0 100644
--- a/searchlib/src/vespa/searchlib/expression/documentfieldnode.h
+++ b/searchlib/src/vespa/searchlib/expression/documentfieldnode.h
@@ -5,6 +5,7 @@
#include "resultnode.h"
#include "resultvector.h"
#include <vespa/document/fieldvalue/iteratorhandler.h>
+#include <vespa/document/base/fieldpath.h>
namespace search::expression {
diff --git a/searchlib/src/vespa/searchlib/memoryindex/field_inverter.h b/searchlib/src/vespa/searchlib/memoryindex/field_inverter.h
index 1c1998fb423..5a7c8d0f7bc 100644
--- a/searchlib/src/vespa/searchlib/memoryindex/field_inverter.h
+++ b/searchlib/src/vespa/searchlib/memoryindex/field_inverter.h
@@ -4,7 +4,6 @@
#include "i_field_index_remove_listener.h"
#include <vespa/document/annotation/span.h>
-#include <vespa/document/fieldvalue/document.h>
#include <vespa/searchlib/index/docidandfeatures.h>
#include <vespa/vespalib/stllike/allocator.h>
#include <vespa/vespalib/stllike/hash_map.h>
@@ -15,6 +14,12 @@ namespace search::index {
class Schema;
}
+namespace document {
+ class FieldValue;
+ class StringFieldValue;
+ class ArrayFieldValue;
+ class WeightedSetFieldValue;
+}
namespace search::memoryindex {
class IOrderedFieldIndexInserter;
@@ -299,7 +304,7 @@ public:
/**
* Invert a normal text field, based on annotations.
*/
- void invertField(uint32_t docId, const document::FieldValue::UP &val);
+ void invertField(uint32_t docId, const std::unique_ptr<document::FieldValue> &val);
/**
* Setup remove of word in old version of document.
diff --git a/searchlib/src/vespa/searchlib/memoryindex/invert_task.cpp b/searchlib/src/vespa/searchlib/memoryindex/invert_task.cpp
index fb6e1328b8b..8fa9de7da74 100644
--- a/searchlib/src/vespa/searchlib/memoryindex/invert_task.cpp
+++ b/searchlib/src/vespa/searchlib/memoryindex/invert_task.cpp
@@ -5,6 +5,7 @@
#include "field_inverter.h"
#include "invert_context.h"
#include "url_field_inverter.h"
+#include <vespa/document/fieldvalue/document.h>
namespace search::memoryindex {