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();
|
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();
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue