summaryrefslogtreecommitdiffstats
path: root/storage
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-08-07 17:23:06 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2020-08-07 17:23:06 +0000
commit3fa3912a3af1d75751425bf11eae1b4e3940a8c7 (patch)
tree29ebb03b74f25a672438f45e9159f4e0fc96bc4b /storage
parentcab80fdeb028a82403eaf13a99b31a5b6483712e (diff)
Make FieldCollection immutable.
Diffstat (limited to 'storage')
-rw-r--r--storage/src/vespa/storage/persistence/fieldvisitor.cpp2
-rw-r--r--storage/src/vespa/storage/persistence/fieldvisitor.h7
2 files changed, 4 insertions, 5 deletions
diff --git a/storage/src/vespa/storage/persistence/fieldvisitor.cpp b/storage/src/vespa/storage/persistence/fieldvisitor.cpp
index a544105be68..0071d7a010f 100644
--- a/storage/src/vespa/storage/persistence/fieldvisitor.cpp
+++ b/storage/src/vespa/storage/persistence/fieldvisitor.cpp
@@ -9,7 +9,7 @@ namespace storage {
FieldVisitor::~FieldVisitor() = default;
void FieldVisitor::visitFieldValueNode(const document::select::FieldValueNode & node) {
- _fields.insertField(_docType.getField(node.getRealFieldName()));
+ _fields.insert(&_docType.getField(node.getRealFieldName()));
}
void FieldVisitor::visitComparison(const document::select::Compare & node) {
diff --git a/storage/src/vespa/storage/persistence/fieldvisitor.h b/storage/src/vespa/storage/persistence/fieldvisitor.h
index d34b7049b88..f2b07e193d6 100644
--- a/storage/src/vespa/storage/persistence/fieldvisitor.h
+++ b/storage/src/vespa/storage/persistence/fieldvisitor.h
@@ -16,18 +16,17 @@ namespace storage {
class FieldVisitor : public document::select::Visitor {
private:
document::DocumentType _docType;
- document::FieldCollection _fields;
+ document::Field::Set _fields;
public:
explicit FieldVisitor(const document::DocumentType & docType)
: _docType(docType),
- _fields(_docType)
+ _fields()
{}
~FieldVisitor() override;
document::FieldCollection getFieldSet() {
- _fields.complete();
- return std::move(_fields);
+ return document::FieldCollection(_docType, std::move(_fields));
}
void visitFieldValueNode(const document::select::FieldValueNode &) override;