aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--documentapi/src/tests/messages/messages60test.cpp1
-rw-r--r--documentapi/src/tests/policies/policies_test.cpp2
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/messages/visitor.cpp1
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/messages/visitor.h17
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/policies/contentpolicy.cpp1
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/routablefactories60.cpp1
-rw-r--r--persistence/src/vespa/persistence/spi/persistenceprovider.h1
-rw-r--r--searchcore/src/apps/vespa-dump-feed/vespa-dump-feed.cpp3
-rw-r--r--searchcorespi/src/vespa/searchcorespi/index/imemoryindex.h3
-rw-r--r--searchcorespi/src/vespa/searchcorespi/index/indexmaintainer.cpp1
-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
-rw-r--r--storage/src/tests/storageserver/documentapiconvertertest.cpp1
-rw-r--r--storage/src/vespa/storage/persistence/CMakeLists.txt1
-rw-r--r--storage/src/vespa/storage/persistence/asynchandler.h5
-rw-r--r--storage/src/vespa/storage/persistence/merge_bucket_info_syncer.h2
-rw-r--r--storage/src/vespa/storage/persistence/mergehandler.cpp15
-rw-r--r--storage/src/vespa/storage/persistence/mergehandler.h23
-rw-r--r--storage/src/vespa/storage/persistence/persistenceutil.cpp1
-rw-r--r--storage/src/vespa/storage/persistence/persistenceutil.h7
-rw-r--r--storage/src/vespa/storage/persistence/processallhandler.cpp1
-rw-r--r--storage/src/vespa/storage/persistence/provider_error_wrapper.cpp1
-rw-r--r--storage/src/vespa/storage/persistence/types.cpp10
-rw-r--r--storage/src/vespa/storage/persistence/types.h7
-rw-r--r--storage/src/vespa/storage/storageserver/documentapiconverter.cpp1
-rw-r--r--storage/src/vespa/storage/visiting/recoveryvisitor.cpp2
29 files changed, 65 insertions, 65 deletions
diff --git a/documentapi/src/tests/messages/messages60test.cpp b/documentapi/src/tests/messages/messages60test.cpp
index c0bdb71fb25..a7604888c69 100644
--- a/documentapi/src/tests/messages/messages60test.cpp
+++ b/documentapi/src/tests/messages/messages60test.cpp
@@ -10,6 +10,7 @@
#include <vespa/document/update/fieldpathupdates.h>
#include <vespa/documentapi/documentapi.h>
#include <vespa/document/bucket/fixed_bucket_spaces.h>
+#include <vespa/document/fieldvalue/document.h>
using document::DataType;
using document::DocumentTypeRepo;
diff --git a/documentapi/src/tests/policies/policies_test.cpp b/documentapi/src/tests/policies/policies_test.cpp
index 61716e4ed6b..dfa9cbb581e 100644
--- a/documentapi/src/tests/policies/policies_test.cpp
+++ b/documentapi/src/tests/policies/policies_test.cpp
@@ -18,11 +18,11 @@
#include <vespa/messagebus/testlib/testserver.h>
#include <vespa/vdslib/state/clusterstate.h>
#include <vespa/document/base/testdocrepo.h>
-#include <vespa/document/config/documenttypes_config_fwd.h>
#include <vespa/document/fieldvalue/longfieldvalue.h>
#include <vespa/document/datatype/documenttype.h>
#include <vespa/document/repo/documenttyperepo.h>
#include <vespa/document/update/documentupdate.h>
+#include <vespa/document/fieldvalue/document.h>
#include <vespa/vespalib/testkit/testapp.h>
#include <vespa/vespalib/util/stringfmt.h>
#include <thread>
diff --git a/documentapi/src/vespa/documentapi/messagebus/messages/visitor.cpp b/documentapi/src/vespa/documentapi/messagebus/messages/visitor.cpp
index 534a4c62efc..1717b687322 100644
--- a/documentapi/src/vespa/documentapi/messagebus/messages/visitor.cpp
+++ b/documentapi/src/vespa/documentapi/messagebus/messages/visitor.cpp
@@ -6,6 +6,7 @@
#include <vespa/vespalib/util/growablebytebuffer.h>
#include <vespa/document/util/bytebuffer.h>
#include <vespa/document/fieldset/fieldsets.h>
+#include <vespa/document/fieldvalue/document.h>
#include <climits>
using document::FixedBucketSpaces;
diff --git a/documentapi/src/vespa/documentapi/messagebus/messages/visitor.h b/documentapi/src/vespa/documentapi/messagebus/messages/visitor.h
index 48fece57064..0b43b37c0b7 100644
--- a/documentapi/src/vespa/documentapi/messagebus/messages/visitor.h
+++ b/documentapi/src/vespa/documentapi/messagebus/messages/visitor.h
@@ -9,9 +9,8 @@
#include <vespa/vdslib/container/visitorstatistics.h>
#include <vespa/document/bucket/bucketid.h>
#include <vespa/documentapi/messagebus/documentprotocol.h>
-#include <vespa/document/fieldvalue/document.h>
-
+namespace document { class Document; }
namespace documentapi {
typedef uint64_t Timestamp;
@@ -237,25 +236,25 @@ public:
*/
class DocumentListMessage : public VisitorMessage {
public:
- typedef std::unique_ptr<DocumentListMessage> UP;
+ using UP = std::unique_ptr<DocumentListMessage>;
+ using DocumentSP = std::shared_ptr<document::Document>;
class Entry {
public:
Entry();
- Entry(int64_t timestamp, document::Document::SP doc, bool removeEntry);
+ Entry(int64_t timestamp, DocumentSP doc, bool removeEntry);
Entry(const Entry& other);
Entry(const document::DocumentTypeRepo &repo, document::ByteBuffer& buf);
int64_t getTimestamp() { return _timestamp; }
- const document::Document::SP& getDocument() { return _document; }
+ const DocumentSP & getDocument() { return _document; }
bool isRemoveEntry() { return _removeEntry; }
void serialize(vespalib::GrowableByteBuffer& buf) const;
- uint32_t getSerializedSize() const;
private:
- int64_t _timestamp;
- document::Document::SP _document;
- bool _removeEntry;
+ int64_t _timestamp;
+ DocumentSP _document;
+ bool _removeEntry;
};
private:
diff --git a/documentapi/src/vespa/documentapi/messagebus/policies/contentpolicy.cpp b/documentapi/src/vespa/documentapi/messagebus/policies/contentpolicy.cpp
index 5fded6a6266..ae4041732a7 100644
--- a/documentapi/src/vespa/documentapi/messagebus/policies/contentpolicy.cpp
+++ b/documentapi/src/vespa/documentapi/messagebus/policies/contentpolicy.cpp
@@ -3,6 +3,7 @@
#include "contentpolicy.h"
#include <vespa/document/base/documentid.h>
#include <vespa/document/update/documentupdate.h>
+#include <vespa/document/fieldvalue/document.h>
#include <vespa/messagebus/emptyreply.h>
#include <vespa/messagebus/error.h>
#include <vespa/documentapi/documentapi.h>
diff --git a/documentapi/src/vespa/documentapi/messagebus/routablefactories60.cpp b/documentapi/src/vespa/documentapi/messagebus/routablefactories60.cpp
index 8b7c56117b1..ad32a5b4fa7 100644
--- a/documentapi/src/vespa/documentapi/messagebus/routablefactories60.cpp
+++ b/documentapi/src/vespa/documentapi/messagebus/routablefactories60.cpp
@@ -6,6 +6,7 @@
#include <vespa/document/bucket/fixed_bucket_spaces.h>
#include <vespa/document/select/parser.h>
#include <vespa/document/update/documentupdate.h>
+#include <vespa/document/fieldvalue/document.h>
#include <vespa/documentapi/documentapi.h>
#include <vespa/vespalib/objects/nbostream.h>
diff --git a/persistence/src/vespa/persistence/spi/persistenceprovider.h b/persistence/src/vespa/persistence/spi/persistenceprovider.h
index 8c62e691daf..38c86454255 100644
--- a/persistence/src/vespa/persistence/spi/persistenceprovider.h
+++ b/persistence/src/vespa/persistence/spi/persistenceprovider.h
@@ -8,6 +8,7 @@
#include "selection.h"
#include "clusterstate.h"
#include "operationcomplete.h"
+#include <vespa/document/base/documentid.h>
namespace document { class FieldSet; }
namespace vespalib { class IDestructorCallback; }
diff --git a/searchcore/src/apps/vespa-dump-feed/vespa-dump-feed.cpp b/searchcore/src/apps/vespa-dump-feed/vespa-dump-feed.cpp
index 133912548b1..85c39226998 100644
--- a/searchcore/src/apps/vespa-dump-feed/vespa-dump-feed.cpp
+++ b/searchcore/src/apps/vespa-dump-feed/vespa-dump-feed.cpp
@@ -3,6 +3,7 @@
#include <vespa/config/print/fileconfigwriter.h>
#include <vespa/document/config/config-documenttypes.h>
#include <vespa/document/repo/documenttyperepo.h>
+#include <vespa/document/fieldvalue/document.h>
#include <vespa/documentapi/documentapi.h>
#include <vespa/messagebus/destinationsession.h>
#include <vespa/messagebus/rpcmessagebus.h>
@@ -16,8 +17,6 @@
#include <vespa/config/helper/configgetter.hpp>
#include <vespa/fastos/app.h>
-#include <iostream>
-
typedef vespalib::SignalHandler SIG;
//-----------------------------------------------------------------------------
diff --git a/searchcorespi/src/vespa/searchcorespi/index/imemoryindex.h b/searchcorespi/src/vespa/searchcorespi/index/imemoryindex.h
index 16feeb2ce24..67d6e034080 100644
--- a/searchcorespi/src/vespa/searchcorespi/index/imemoryindex.h
+++ b/searchcorespi/src/vespa/searchcorespi/index/imemoryindex.h
@@ -1,7 +1,6 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <vespa/document/fieldvalue/document.h>
#include <vespa/searchcommon/common/schema.h>
#include <vespa/searchcorespi/index/indexsearchable.h>
#include <vespa/searchlib/common/serialnum.h>
@@ -9,7 +8,7 @@
#include <vespa/vespalib/util/memoryusage.h>
namespace vespalib { class IDestructorCallback; }
-
+namespace document { class Document; }
namespace searchcorespi::index {
/**
diff --git a/searchcorespi/src/vespa/searchcorespi/index/indexmaintainer.cpp b/searchcorespi/src/vespa/searchcorespi/index/indexmaintainer.cpp
index 1153a09d09f..d8bbf435479 100644
--- a/searchcorespi/src/vespa/searchcorespi/index/indexmaintainer.cpp
+++ b/searchcorespi/src/vespa/searchcorespi/index/indexmaintainer.cpp
@@ -9,6 +9,7 @@
#include "indexreadutilities.h"
#include "indexwriteutilities.h"
#include "index_disk_dir.h"
+#include <vespa/document/fieldvalue//document.h>
#include <vespa/searchcorespi/flush/lambdaflushtask.h>
#include <vespa/searchlib/common/i_flush_token.h>
#include <vespa/searchlib/index/schemautil.h>
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 {
diff --git a/storage/src/tests/storageserver/documentapiconvertertest.cpp b/storage/src/tests/storageserver/documentapiconvertertest.cpp
index 4b3cd3dfe17..c375443b265 100644
--- a/storage/src/tests/storageserver/documentapiconvertertest.cpp
+++ b/storage/src/tests/storageserver/documentapiconvertertest.cpp
@@ -8,6 +8,7 @@
#include <vespa/document/select/parser.h>
#include <vespa/document/test/make_document_bucket.h>
#include <vespa/document/update/documentupdate.h>
+#include <vespa/document/fieldvalue/document.h>
#include <vespa/documentapi/documentapi.h>
#include <vespa/messagebus/emptyreply.h>
#include <vespa/messagebus/error.h>
diff --git a/storage/src/vespa/storage/persistence/CMakeLists.txt b/storage/src/vespa/storage/persistence/CMakeLists.txt
index c737d2bed28..7715517a791 100644
--- a/storage/src/vespa/storage/persistence/CMakeLists.txt
+++ b/storage/src/vespa/storage/persistence/CMakeLists.txt
@@ -18,6 +18,5 @@ vespa_add_library(storage_spersistence OBJECT
splitbitdetector.cpp
splitjoinhandler.cpp
testandsethelper.cpp
- types.cpp
DEPENDS
)
diff --git a/storage/src/vespa/storage/persistence/asynchandler.h b/storage/src/vespa/storage/persistence/asynchandler.h
index 71c54e99f75..d50ebf36c81 100644
--- a/storage/src/vespa/storage/persistence/asynchandler.h
+++ b/storage/src/vespa/storage/persistence/asynchandler.h
@@ -1,7 +1,6 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include "types.h"
#include "messages.h"
#include <vespa/storageapi/message/persistence.h>
#include <vespa/storageapi/message/removelocation.h>
@@ -16,12 +15,14 @@ namespace spi {
}
class PersistenceUtil;
class BucketOwnershipNotifier;
+class MessageTracker;
/**
* Handle async operations that uses a sequenced executor.
* It is stateless and thread safe.
*/
-class AsyncHandler : public Types {
+class AsyncHandler {
+ using MessageTrackerUP = std::unique_ptr<MessageTracker>;
public:
AsyncHandler(const PersistenceUtil&, spi::PersistenceProvider&, BucketOwnershipNotifier &,
vespalib::ISequencedTaskExecutor & executor, const document::BucketIdFactory & bucketIdFactory);
diff --git a/storage/src/vespa/storage/persistence/merge_bucket_info_syncer.h b/storage/src/vespa/storage/persistence/merge_bucket_info_syncer.h
index b3386c591e6..cd7e9690316 100644
--- a/storage/src/vespa/storage/persistence/merge_bucket_info_syncer.h
+++ b/storage/src/vespa/storage/persistence/merge_bucket_info_syncer.h
@@ -2,6 +2,8 @@
#pragma once
+#include <memory>
+
namespace storage::spi { class Bucket; }
namespace storage {
diff --git a/storage/src/vespa/storage/persistence/mergehandler.cpp b/storage/src/vespa/storage/persistence/mergehandler.cpp
index 8287fe27509..73361c7e8d6 100644
--- a/storage/src/vespa/storage/persistence/mergehandler.cpp
+++ b/storage/src/vespa/storage/persistence/mergehandler.cpp
@@ -10,6 +10,7 @@
#include <vespa/persistence/spi/docentry.h>
#include <vespa/vdslib/distribution/distribution.h>
#include <vespa/document/fieldset/fieldsets.h>
+#include <vespa/document/fieldvalue/document.h>
#include <vespa/vespalib/objects/nbostream.h>
#include <vespa/vespalib/util/exceptions.h>
#include <vespa/vespalib/util/isequencedtaskexecutor.h>
@@ -239,7 +240,7 @@ MergeHandler::buildBucketInfoList(
for (const auto& entry : entries) {
api::GetBucketDiffCommand::Entry diff;
- diff._gid = GlobalId();
+ diff._gid = document::GlobalId();
// We do not know doc sizes at this point, so just set to 0
diff._headerSize = 0;
diff._bodySize = 0;
@@ -449,7 +450,7 @@ MergeHandler::fetchLocalData(
api::ApplyBucketDiffCommand::Entry& e(*iter);
if (!docEntry.isRemove()) {
- const Document* doc = docEntry.getDocument();
+ const document::Document* doc = docEntry.getDocument();
assert(doc != nullptr);
assertContainedInBucket(doc->getId(), bucket, idFactory);
e._docName = doc->getId().toString();
@@ -459,7 +460,7 @@ MergeHandler::fetchLocalData(
memcpy(&e._headerBlob[0], stream.peek(), stream.size());
e._bodyBlob.clear();
} else {
- const DocumentId* docId = docEntry.getDocumentId();
+ const document::DocumentId* docId = docEntry.getDocumentId();
assert(docId != nullptr);
assertContainedInBucket(*docId, bucket, idFactory);
if (e._entry._flags & DELETED) {
@@ -495,7 +496,7 @@ MergeHandler::deserializeDiffDocument(
const api::ApplyBucketDiffCommand::Entry& e,
const document::DocumentTypeRepo& repo) const
{
- auto doc = std::make_unique<Document>();
+ auto doc = std::make_unique<document::Document>();
vespalib::nbostream hbuf(&e._headerBlob[0], e._headerBlob.size());
if (e._bodyBlob.size() > 0) {
// TODO Remove this branch and add warning on error.
@@ -519,8 +520,8 @@ MergeHandler::applyDiffEntry(std::shared_ptr<ApplyBucketDiffState> async_results
spi::Timestamp timestamp(e._entry._timestamp);
if (!(e._entry._flags & (DELETED | DELETED_IN_PLACE))) {
// Regular put entry
- Document::SP doc(deserializeDiffDocument(e, repo));
- DocumentId docId = doc->getId();
+ std::shared_ptr<document::Document> doc(deserializeDiffDocument(e, repo));
+ document::DocumentId docId = doc->getId();
auto complete = std::make_unique<ApplyBucketDiffEntryComplete>(std::move(async_results), std::move(docId),
std::move(throttle_token), "put",
_clock, _env._metrics.merge_handler_metrics.put_latency);
@@ -557,7 +558,7 @@ MergeHandler::applyDiffLocally(
async_results->mark_stale_bucket_info();
DocEntryList entries;
- populateMetaData(bucket, MAX_TIMESTAMP, entries, context);
+ populateMetaData(bucket, Timestamp::max(), entries, context);
const document::DocumentTypeRepo & repo = _env.getDocumentTypeRepo();
diff --git a/storage/src/vespa/storage/persistence/mergehandler.h b/storage/src/vespa/storage/persistence/mergehandler.h
index 1ed2fa878bc..3f631acbef5 100644
--- a/storage/src/vespa/storage/persistence/mergehandler.h
+++ b/storage/src/vespa/storage/persistence/mergehandler.h
@@ -13,19 +13,17 @@
*/
#pragma once
-#include "types.h"
#include "merge_bucket_info_syncer.h"
#include <vespa/persistence/spi/bucket.h>
#include <vespa/storageapi/message/bucket.h>
#include <vespa/storage/common/cluster_context.h>
#include <vespa/storage/common/messagesender.h>
#include <vespa/vespalib/util/monitored_refcount.h>
+#include <vespa/storageframework/generic/clock/time.h>
#include <atomic>
-namespace vespalib {
-class ISequencedTaskExecutor;
-}
-
+namespace vespalib { class ISequencedTaskExecutor; }
+namespace document { class Document; }
namespace storage {
namespace spi {
@@ -36,10 +34,12 @@ namespace spi {
class PersistenceUtil;
class ApplyBucketDiffState;
class MergeStatus;
+class MessageTracker;
-class MergeHandler : public Types,
- public MergeBucketInfoSyncer {
-
+class MergeHandler : public MergeBucketInfoSyncer {
+private:
+ using MessageTrackerUP = std::unique_ptr<MessageTracker>;
+ using Timestamp = framework::MicroSecTime;
public:
enum StateFlag {
IN_USE = 0x01,
@@ -92,7 +92,7 @@ public:
private:
using DocEntryList = std::vector<std::unique_ptr<spi::DocEntry>>;
const framework::Clock &_clock;
- const ClusterContext &_cluster_context;
+ const ClusterContext &_cluster_context;
PersistenceUtil &_env;
spi::PersistenceProvider &_spi;
std::unique_ptr<vespalib::MonitoredRefCount> _monitored_ref_count;
@@ -129,9 +129,8 @@ private:
DocEntryList & entries,
spi::Context& context) const;
- Document::UP deserializeDiffDocument(
- const api::ApplyBucketDiffCommand::Entry& e,
- const document::DocumentTypeRepo& repo) const;
+ std::unique_ptr<document::Document>
+ deserializeDiffDocument(const api::ApplyBucketDiffCommand::Entry& e, const document::DocumentTypeRepo& repo) const;
};
} // storage
diff --git a/storage/src/vespa/storage/persistence/persistenceutil.cpp b/storage/src/vespa/storage/persistence/persistenceutil.cpp
index 2781cc61b83..77e8532f0d2 100644
--- a/storage/src/vespa/storage/persistence/persistenceutil.cpp
+++ b/storage/src/vespa/storage/persistence/persistenceutil.cpp
@@ -3,6 +3,7 @@
#include "persistenceutil.h"
#include <vespa/persistence/spi/persistenceprovider.h>
#include <vespa/storageapi/messageapi/bucketinforeply.h>
+#include <vespa/document/base/documentid.h>
#include <vespa/vespalib/util/exceptions.h>
#include <vespa/log/bufferedlogger.h>
diff --git a/storage/src/vespa/storage/persistence/persistenceutil.h b/storage/src/vespa/storage/persistence/persistenceutil.h
index 4130a276239..c3fcb68ddc8 100644
--- a/storage/src/vespa/storage/persistence/persistenceutil.h
+++ b/storage/src/vespa/storage/persistence/persistenceutil.h
@@ -1,10 +1,10 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include "types.h"
#include <vespa/storage/common/servicelayercomponent.h>
#include <vespa/storage/persistence/filestorage/filestorhandler.h>
#include <vespa/storage/persistence/filestorage/filestormetrics.h>
+#include <vespa/storage/bucketdb/storbucketdb.h>
#include <vespa/storageframework/generic/clock/timer.h>
#include <vespa/storageapi/messageapi/returncode.h>
#include <vespa/persistence/spi/result.h>
@@ -15,6 +15,7 @@
namespace storage::api {
class StorageMessage;
class StorageReply;
+ class BucketInfo;
}
namespace storage::spi {
@@ -25,7 +26,7 @@ namespace storage {
class PersistenceUtil;
-class MessageTracker : protected Types {
+class MessageTracker {
public:
using UP = std::unique_ptr<MessageTracker>;
@@ -48,7 +49,7 @@ public:
}
/** Utility function to be able to write a bit less in client. */
- void fail(uint32_t result, const String& message = "") {
+ void fail(uint32_t result, const vespalib::string & message = "") {
fail(api::ReturnCode((api::ReturnCode::Result)result, message));
}
/** Set the request to fail with the given failure. */
diff --git a/storage/src/vespa/storage/persistence/processallhandler.cpp b/storage/src/vespa/storage/persistence/processallhandler.cpp
index 6d6723a0185..c22b08c5ca5 100644
--- a/storage/src/vespa/storage/persistence/processallhandler.cpp
+++ b/storage/src/vespa/storage/persistence/processallhandler.cpp
@@ -4,6 +4,7 @@
#include "bucketprocessor.h"
#include "persistenceutil.h"
#include <vespa/document/fieldset/fieldsets.h>
+#include <vespa/document/fieldvalue/document.h>
#include <vespa/persistence/spi/persistenceprovider.h>
#include <vespa/persistence/spi/docentry.h>
#include <vespa/vespalib/util/stringfmt.h>
diff --git a/storage/src/vespa/storage/persistence/provider_error_wrapper.cpp b/storage/src/vespa/storage/persistence/provider_error_wrapper.cpp
index b7344098698..6d15cc06cdf 100644
--- a/storage/src/vespa/storage/persistence/provider_error_wrapper.cpp
+++ b/storage/src/vespa/storage/persistence/provider_error_wrapper.cpp
@@ -1,7 +1,6 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "provider_error_wrapper.h"
-#include "persistenceutil.h"
#include <vespa/persistence/spi/docentry.h>
#include <vespa/vespalib/util/idestructorcallback.h>
diff --git a/storage/src/vespa/storage/persistence/types.cpp b/storage/src/vespa/storage/persistence/types.cpp
deleted file mode 100644
index 3bf116bb2ee..00000000000
--- a/storage/src/vespa/storage/persistence/types.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-
-#include "types.h"
-
-namespace storage {
-
-const framework::MicroSecTime Types::MAX_TIMESTAMP(framework::MicroSecTime::max());
-const framework::MicroSecTime Types::UNSET_TIMESTAMP(0);
-
-} // storage
diff --git a/storage/src/vespa/storage/persistence/types.h b/storage/src/vespa/storage/persistence/types.h
index 8dff11468a0..da004f85075 100644
--- a/storage/src/vespa/storage/persistence/types.h
+++ b/storage/src/vespa/storage/persistence/types.h
@@ -4,7 +4,6 @@
#include <iosfwd>
#include <vespa/document/bucket/bucketid.h>
#include <vespa/document/base/documentid.h>
-#include <vespa/document/fieldvalue/document.h>
#include <vespa/storage/bucketdb/storbucketdb.h>
#include <vespa/storageapi/buckets/bucketinfo.h>
#include <vespa/storageapi/defs.h>
@@ -17,18 +16,12 @@ class MessageTracker;
struct Types {
typedef document::BucketId BucketId;
- typedef document::Document Document;
typedef document::DocumentId DocumentId;
typedef document::GlobalId GlobalId;
typedef framework::MicroSecTime Timestamp;
- typedef Timestamp RevertToken;
typedef vespalib::string String;
typedef api::BucketInfo BucketInfo;
using MessageTrackerUP = std::unique_ptr<MessageTracker>;
-
- static const framework::MicroSecTime MAX_TIMESTAMP;
- static const framework::MicroSecTime UNSET_TIMESTAMP;
-
protected:
~Types() {} // Noone should refer to objects as Types objects
};
diff --git a/storage/src/vespa/storage/storageserver/documentapiconverter.cpp b/storage/src/vespa/storage/storageserver/documentapiconverter.cpp
index d95349fc88b..c465f974a9b 100644
--- a/storage/src/vespa/storage/storageserver/documentapiconverter.cpp
+++ b/storage/src/vespa/storage/storageserver/documentapiconverter.cpp
@@ -5,6 +5,7 @@
#include <vespa/document/bucket/bucketidfactory.h>
#include <vespa/document/update/documentupdate.h>
#include <vespa/documentapi/documentapi.h>
+#include <vespa/document/fieldvalue/document.h>
#include <vespa/storage/common/bucket_resolver.h>
#include <vespa/storageapi/message/datagram.h>
#include <vespa/storageapi/message/documentsummary.h>
diff --git a/storage/src/vespa/storage/visiting/recoveryvisitor.cpp b/storage/src/vespa/storage/visiting/recoveryvisitor.cpp
index 1c3c97d7dcb..9d1b2c83266 100644
--- a/storage/src/vespa/storage/visiting/recoveryvisitor.cpp
+++ b/storage/src/vespa/storage/visiting/recoveryvisitor.cpp
@@ -1,10 +1,10 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-
#include "recoveryvisitor.h"
#include <vespa/persistence/spi/docentry.h>
#include <vespa/vespalib/objects/nbostream.h>
#include <vespa/documentapi/messagebus/messages/visitor.h>
+#include <vespa/document/fieldvalue/document.h>
#include <vespa/vespalib/text/stringtokenizer.h>
#include <vespa/vespalib/stllike/hash_map.hpp>