diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2020-08-07 16:19:34 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2020-08-07 16:19:34 +0000 |
commit | b5a9416c8546f0bf8c5e59d64ea1e4102f5eec84 (patch) | |
tree | ff7e489203bf248fcb45a388aa42dd322085b5c4 /storage | |
parent | dc10b82a2e54294752f85c4949229424a07cbe94 (diff) |
Do not compute the hash on temporary sets. Wait till done.
Diffstat (limited to 'storage')
-rw-r--r-- | storage/src/vespa/storage/persistence/fieldvisitor.cpp | 4 | ||||
-rw-r--r-- | storage/src/vespa/storage/persistence/fieldvisitor.h | 9 |
2 files changed, 7 insertions, 6 deletions
diff --git a/storage/src/vespa/storage/persistence/fieldvisitor.cpp b/storage/src/vespa/storage/persistence/fieldvisitor.cpp index df9d3df6379..a544105be68 100644 --- a/storage/src/vespa/storage/persistence/fieldvisitor.cpp +++ b/storage/src/vespa/storage/persistence/fieldvisitor.cpp @@ -6,10 +6,10 @@ namespace storage { -FieldVisitor::~FieldVisitor() {} +FieldVisitor::~FieldVisitor() = default; void FieldVisitor::visitFieldValueNode(const document::select::FieldValueNode & node) { - _fields.insert(_docType.getField(node.getRealFieldName())); + _fields.insertField(_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 4b47c68e33b..d34b7049b88 100644 --- a/storage/src/vespa/storage/persistence/fieldvisitor.h +++ b/storage/src/vespa/storage/persistence/fieldvisitor.h @@ -19,14 +19,15 @@ private: document::FieldCollection _fields; public: - FieldVisitor(const document::DocumentType & docType) + explicit FieldVisitor(const document::DocumentType & docType) : _docType(docType), _fields(_docType) {} - ~FieldVisitor(); + ~FieldVisitor() override; - const document::FieldSet & getFieldSet() { - return _fields; + document::FieldCollection getFieldSet() { + _fields.complete(); + return std::move(_fields); } void visitFieldValueNode(const document::select::FieldValueNode &) override; |