summaryrefslogtreecommitdiffstats
path: root/common/storage
diff options
context:
space:
mode:
Diffstat (limited to 'common/storage')
-rw-r--r--common/storage/entitystore.cpp7
-rw-r--r--common/storage/entitystore.h1
2 files changed, 8 insertions, 0 deletions
diff --git a/common/storage/entitystore.cpp b/common/storage/entitystore.cpp
index 6c341e2..51e5da7 100644
--- a/common/storage/entitystore.cpp
+++ b/common/storage/entitystore.cpp
@@ -111,6 +111,7 @@ EntityStore::EntityStore(const ResourceContext &context, const Log::Context &ctx
111void EntityStore::startTransaction(Sink::Storage::DataStore::AccessMode accessMode) 111void EntityStore::startTransaction(Sink::Storage::DataStore::AccessMode accessMode)
112{ 112{
113 SinkTraceCtx(d->logCtx) << "Starting transaction: " << accessMode; 113 SinkTraceCtx(d->logCtx) << "Starting transaction: " << accessMode;
114 Q_ASSERT(!d->transaction);
114 Sink::Storage::DataStore store(Sink::storageLocation(), d->resourceContext.instanceId(), accessMode); 115 Sink::Storage::DataStore store(Sink::storageLocation(), d->resourceContext.instanceId(), accessMode);
115 d->transaction = store.createTransaction(accessMode); 116 d->transaction = store.createTransaction(accessMode);
116 Q_ASSERT(d->transaction.validateNamedDatabases()); 117 Q_ASSERT(d->transaction.validateNamedDatabases());
@@ -119,6 +120,7 @@ void EntityStore::startTransaction(Sink::Storage::DataStore::AccessMode accessMo
119void EntityStore::commitTransaction() 120void EntityStore::commitTransaction()
120{ 121{
121 SinkTraceCtx(d->logCtx) << "Committing transaction"; 122 SinkTraceCtx(d->logCtx) << "Committing transaction";
123 Q_ASSERT(d->transaction);
122 d->transaction.commit(); 124 d->transaction.commit();
123 d->transaction = Storage::DataStore::Transaction(); 125 d->transaction = Storage::DataStore::Transaction();
124} 126}
@@ -130,6 +132,11 @@ void EntityStore::abortTransaction()
130 d->transaction = Storage::DataStore::Transaction(); 132 d->transaction = Storage::DataStore::Transaction();
131} 133}
132 134
135bool EntityStore::hasTransaction() const
136{
137 return d->transaction;
138}
139
133void EntityStore::copyBlobs(ApplicationDomain::ApplicationDomainType &entity, qint64 newRevision) 140void EntityStore::copyBlobs(ApplicationDomain::ApplicationDomainType &entity, qint64 newRevision)
134{ 141{
135 const auto directory = d->entityBlobStoragePath(entity.identifier()); 142 const auto directory = d->entityBlobStoragePath(entity.identifier());
diff --git a/common/storage/entitystore.h b/common/storage/entitystore.h
index fe75a02..46410cd 100644
--- a/common/storage/entitystore.h
+++ b/common/storage/entitystore.h
@@ -51,6 +51,7 @@ public:
51 void startTransaction(Sink::Storage::DataStore::AccessMode); 51 void startTransaction(Sink::Storage::DataStore::AccessMode);
52 void commitTransaction(); 52 void commitTransaction();
53 void abortTransaction(); 53 void abortTransaction();
54 bool hasTransaction() const;
54 55
55 QVector<QByteArray> fullScan(const QByteArray &type); 56 QVector<QByteArray> fullScan(const QByteArray &type);
56 QVector<QByteArray> indexLookup(const QByteArray &type, const QueryBase &query, QSet<QByteArray> &appliedFilters, QByteArray &appliedSorting); 57 QVector<QByteArray> indexLookup(const QByteArray &type, const QueryBase &query, QSet<QByteArray> &appliedFilters, QByteArray &appliedSorting);