mirror of https://gitee.com/bigwinds/arangodb
added asserts
This commit is contained in:
parent
d65662fb62
commit
1855b74aaa
|
@ -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();
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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();
|
||||
|
||||
|
|
Loading…
Reference in New Issue