1
0
Fork 0

added asserts

This commit is contained in:
Jan Steemann 2016-04-07 16:44:36 +02:00
parent d65662fb62
commit 1855b74aaa
5 changed files with 19 additions and 11 deletions

View File

@ -573,6 +573,7 @@ bool RestDocumentHandler::deleteDocument() {
search = builder.slice();
} else {
try {
TRI_ASSERT(_request != nullptr);
builderPtr = _request->toVelocyPack(transactionContext->getVPackOptions());
} catch (...) {
// If an error occurs here the body is not parsable. Fail with bad parameter
@ -636,6 +637,7 @@ bool RestDocumentHandler::readManyDocuments() {
return false;
}
TRI_ASSERT(_request != nullptr);
auto builderPtr = _request->toVelocyPack(transactionContext->getVPackOptions());
VPackSlice search = builderPtr->slice();

View File

@ -828,7 +828,7 @@ TRI_collection_t* TRI_CreateCollection(
// create collection structure
if (collection == nullptr) {
try {
TRI_collection_t* tmp = new TRI_collection_t(parameters);
TRI_collection_t* tmp = new TRI_collection_t(vocbase, parameters);
collection = tmp;
} catch (std::exception&) {
collection = nullptr;

View File

@ -294,11 +294,13 @@ struct TRI_collection_t {
TRI_collection_t(TRI_collection_t const&) = delete;
TRI_collection_t& operator=(TRI_collection_t const&) = delete;
TRI_collection_t()
: _tickMax(0), _state(TRI_COL_STATE_WRITE), _lastError(0) {}
TRI_collection_t() = delete;
explicit TRI_collection_t(TRI_vocbase_t* vocbase)
: _vocbase(vocbase), _tickMax(0), _state(TRI_COL_STATE_WRITE), _lastError(0) {}
explicit TRI_collection_t(arangodb::VocbaseCollectionInfo const& info)
: _info(info), _tickMax(0), _state(TRI_COL_STATE_WRITE), _lastError(0) {}
TRI_collection_t(TRI_vocbase_t* vocbase, arangodb::VocbaseCollectionInfo const& info)
: _info(info), _vocbase(vocbase), _tickMax(0), _state(TRI_COL_STATE_WRITE), _lastError(0) {}
~TRI_collection_t() = default;

View File

@ -68,8 +68,9 @@ using namespace arangodb::basics;
/// @brief create a document collection
////////////////////////////////////////////////////////////////////////////////
TRI_document_collection_t::TRI_document_collection_t()
: _lock(),
TRI_document_collection_t::TRI_document_collection_t(TRI_vocbase_t* vocbase)
: TRI_collection_t(vocbase),
_lock(),
_nextCompactionStartIndex(0),
_lastCompactionStatus(nullptr),
_useSecondaryIndexes(true),
@ -1209,7 +1210,7 @@ TRI_document_collection_t* TRI_CreateDocumentCollection(
// first create the document collection
TRI_document_collection_t* document;
try {
document = new TRI_document_collection_t();
document = new TRI_document_collection_t(vocbase);
} catch (std::exception&) {
document = nullptr;
}
@ -1753,7 +1754,7 @@ TRI_document_collection_t* TRI_OpenDocumentCollection(TRI_vocbase_t* vocbase,
// first open the document collection
TRI_document_collection_t* document = nullptr;
try {
document = new TRI_document_collection_t();
document = new TRI_document_collection_t(vocbase);
} catch (std::exception&) {
}
@ -3707,7 +3708,7 @@ int TRI_document_collection_t::remove(arangodb::Transaction* trx,
TRI_ASSERT(marker == nullptr);
// get the header pointer of the previous revision
TRI_doc_mptr_t* oldHeader;
TRI_doc_mptr_t* oldHeader = nullptr;
VPackSlice key;
if (slice.isString()) {
key = slice;
@ -3720,6 +3721,7 @@ int TRI_document_collection_t::remove(arangodb::Transaction* trx,
return res;
}
TRI_ASSERT(oldHeader != nullptr);
prevRev = oldHeader->revisionIdAsSlice();
previous = *oldHeader;

View File

@ -36,6 +36,8 @@
#include "VocBase/voc-types.h"
#include "Wal/Marker.h"
struct TRI_vocbase_t;
namespace arangodb {
class EdgeIndex;
class Index;
@ -90,7 +92,7 @@ struct TRI_doc_collection_info_t {
////////////////////////////////////////////////////////////////////////////////
struct TRI_document_collection_t : public TRI_collection_t {
TRI_document_collection_t();
explicit TRI_document_collection_t(TRI_vocbase_t* vocbase);
~TRI_document_collection_t();