1
0
Fork 0

preparations for revision()

This commit is contained in:
jsteemann 2017-04-05 13:40:18 +02:00
parent 6480d56b7e
commit 1c43920bfc
10 changed files with 16 additions and 11 deletions

View File

@ -522,6 +522,10 @@ MMFilesCollection::MMFilesCollection(LogicalCollection* logical,
MMFilesCollection::~MMFilesCollection() {
}
TRI_voc_rid_t MMFilesCollection::revision(arangodb::transaction::Methods*) const {
return _lastRevision;
}
TRI_voc_rid_t MMFilesCollection::revision() const {
return _lastRevision;
}

View File

@ -139,7 +139,8 @@ class MMFilesCollection final : public PhysicalCollection {
virtual PhysicalCollection* clone(LogicalCollection*, PhysicalCollection*) override;
TRI_voc_rid_t revision() const override;
TRI_voc_rid_t revision(arangodb::transaction::Methods* trx) const override;
TRI_voc_rid_t revision() const;
void setRevision(TRI_voc_rid_t revision, bool force);

View File

@ -256,7 +256,7 @@ int MMFilesTransactionCollection::use(int nestingLevel) {
if (AccessMode::isWriteOrExclusive(_accessType) && _originalRevision == 0) {
// store original revision at transaction start
_originalRevision = _collection->revision();
_originalRevision = physical->revision();
}
bool shouldLock = _transaction->hasHint(transaction::Hints::Hint::LOCK_ENTIRELY);

View File

@ -132,8 +132,8 @@ PhysicalCollection* RocksDBCollection::clone(LogicalCollection* logical,
return new RocksDBCollection(logical, physical);
}
TRI_voc_rid_t RocksDBCollection::revision() const {
THROW_ARANGO_NOT_YET_IMPLEMENTED();
TRI_voc_rid_t RocksDBCollection::revision(arangodb::transaction::Methods* trx) const {
// TODO!
return 0;
}

View File

@ -75,7 +75,7 @@ class RocksDBCollection final : public PhysicalCollection {
virtual PhysicalCollection* clone(LogicalCollection*,
PhysicalCollection*) override;
TRI_voc_rid_t revision() const override;
TRI_voc_rid_t revision(arangodb::transaction::Methods* trx) const override;
void getPropertiesVPack(velocypack::Builder&) const override;
void getPropertiesVPackCoordinator(velocypack::Builder&) const override;

View File

@ -2087,7 +2087,7 @@ static int GetRevision(arangodb::LogicalCollection* collection, TRI_voc_rid_t& r
// READ-LOCK start
trx.lockRead();
rid = collection->revision();
rid = collection->revision(&trx);
trx.finish(res);
// READ-LOCK end

View File

@ -387,7 +387,7 @@ static void JS_ChecksumCollection(
LogicalCollection* collection = trx.documentCollection();
auto physical = collection->getPhysical();
TRI_ASSERT(physical != nullptr);
std::string const revisionId = TRI_RidToString(physical->revision());
std::string const revisionId = TRI_RidToString(physical->revision(&trx));
uint64_t hash = 0;
ManagedDocumentResult mmdr;

View File

@ -638,9 +638,9 @@ std::string LogicalCollection::statusString() const {
}
// SECTION: Properties
TRI_voc_rid_t LogicalCollection::revision() const {
TRI_voc_rid_t LogicalCollection::revision(transaction::Methods* trx) const {
// TODO CoordinatorCase
return _physical->revision();
return _physical->revision(trx);
}
bool LogicalCollection::isLocal() const { return _isLocal; }

View File

@ -151,7 +151,7 @@ class LogicalCollection {
uint64_t numberDocuments(transaction::Methods*) const;
// SECTION: Properties
TRI_voc_rid_t revision() const;
TRI_voc_rid_t revision(transaction::Methods*) const;
bool isLocal() const;
bool deleted() const;
bool isSystem() const;

View File

@ -61,7 +61,7 @@ class PhysicalCollection {
virtual PhysicalCollection* clone(LogicalCollection*, PhysicalCollection*) = 0;
virtual TRI_voc_rid_t revision() const = 0;
virtual TRI_voc_rid_t revision(arangodb::transaction::Methods* trx) const = 0;
/// @brief export properties
virtual void getPropertiesVPack(velocypack::Builder&) const = 0;