From 96e2473ae23f209f514041fecc9a12d8db21e4ac Mon Sep 17 00:00:00 2001 From: jsteemann Date: Sat, 25 Jun 2016 15:54:14 +0200 Subject: [PATCH] fixed "collection is a nullptr" issue when starting a traversal from a transaction --- CHANGELOG | 4 ++++ arangod/Utils/Transaction.h | 8 ++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 38d6dc51c4..514eb9b7bd 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -13,6 +13,8 @@ devel v3.0.1 (XXXX-XX-XX) ------------------- +* fixed "collection is a nullptr" issue when starting a traversal from a transaction + * enable /_api/import on coordinator servers @@ -343,6 +345,8 @@ v3.0.0-rc1 (2015-06-10) v2.8.10 (XXXX-XX-XX) -------------------- +* fixed "collection is a nullptr" issue when starting a traversal from a transaction + * honor the value of startup option `--database.wait-for-sync` (that is used to control whether new collections are created with `waitForSync` set to `true` by default) also when creating collections via the HTTP API (and thus the ArangoShell). When creating diff --git a/arangod/Utils/Transaction.h b/arangod/Utils/Transaction.h index 79913ff478..39e64bf36f 100644 --- a/arangod/Utils/Transaction.h +++ b/arangod/Utils/Transaction.h @@ -235,7 +235,7 @@ class Transaction { ////////////////////////////////////////////////////////////////////////////// bool isSingleOperationTransaction() const { - return TRI_IsSingleOperationTransaction(this->getInternals()); + return TRI_IsSingleOperationTransaction(_trx); } ////////////////////////////////////////////////////////////////////////////// @@ -389,13 +389,13 @@ class Transaction { auto collection = this->trxCollection(cid); if (collection == nullptr) { - int res = TRI_AddCollectionTransaction(this->getInternals(), cid, + int res = TRI_AddCollectionTransaction(_trx, cid, type, - this->nestingLevel(), true, true); + _nestingLevel, true, true); if (res != TRI_ERROR_NO_ERROR) { THROW_ARANGO_EXCEPTION(res); } - TRI_EnsureCollectionsTransaction(this->getInternals()); + TRI_EnsureCollectionsTransaction(_trx, _nestingLevel); collection = this->trxCollection(cid); if (collection == nullptr) {