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

View File

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

View File

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

View File

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

View File

@ -36,6 +36,8 @@
#include "VocBase/voc-types.h" #include "VocBase/voc-types.h"
#include "Wal/Marker.h" #include "Wal/Marker.h"
struct TRI_vocbase_t;
namespace arangodb { namespace arangodb {
class EdgeIndex; class EdgeIndex;
class Index; class Index;
@ -90,7 +92,7 @@ struct TRI_doc_collection_info_t {
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
struct TRI_document_collection_t : public TRI_collection_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(); ~TRI_document_collection_t();