diff --git a/arangod/VocBase/vocbase.cpp b/arangod/VocBase/vocbase.cpp index 6f1d173e28..c3c7e9ad1d 100644 --- a/arangod/VocBase/vocbase.cpp +++ b/arangod/VocBase/vocbase.cpp @@ -1506,7 +1506,7 @@ void TRI_DestroyVocBase (TRI_vocbase_t* vocbase) { // mark all cursors as deleted so underlying collections can be freed soon if (vocbase->_cursorRepository != nullptr) { - static_cast(vocbase->_cursorRepository)->garbageCollect(true); + vocbase->_cursorRepository->garbageCollect(true); } std::vector collections; @@ -2446,8 +2446,8 @@ TRI_vocbase_t::~TRI_vocbase_t () { TRI_DestroyAssociativePointer(&_collectionsByName); TRI_DestroyAssociativePointer(&_collectionsById); - delete static_cast(_cursorRepository); - delete static_cast(_queries); + delete _cursorRepository; + delete _queries; // free name and path if (_path != nullptr) { diff --git a/arangod/VocBase/vocbase.h b/arangod/VocBase/vocbase.h index 00692f8cc9..cbde1f86ef 100644 --- a/arangod/VocBase/vocbase.h +++ b/arangod/VocBase/vocbase.h @@ -51,6 +51,15 @@ struct TRI_server_t; struct TRI_vocbase_col_s; struct TRI_vocbase_defaults_s; +namespace triagens { + namespace aql { + class QueryList; + } + namespace arango { + class CursorRepository; + } +} + extern bool IGNORE_DATAFILE_ERRORS; // ----------------------------------------------------------------------------- @@ -287,8 +296,8 @@ struct TRI_vocbase_t { // structures for user-defined volatile data void* _userStructures; - void* _queries; - void* _cursorRepository; + triagens::aql::QueryList* _queries; + triagens::arango::CursorRepository* _cursorRepository; TRI_associative_pointer_t _authInfo; TRI_associative_pointer_t _authCache;