void TRI_FreeContextAql (TRI_aql_context_t* const context) { TRI_ASSERT(context != NULL); LOG_TRACE("freeing context"); // release all scopes TRI_FreeScopesAql(context); FreeStrings(context); FreeNodes(context); // free parameter names hash TRI_DestroyAssociativePointer(&context->_parameters._names); // free collection names TRI_DestroyAssociativePointer(&context->_collectionNames); FreeCollections(context); // free parameter values TRI_FreeBindParametersAql(context); TRI_DestroyAssociativePointer(&context->_parameters._values); // free parser/lexer TRI_FreeParserAql(context->_parser); // free statement list TRI_FreeStatementListAql(context->_statements); // free error struct TRI_DestroyErrorAql(&context->_error); TRI_Free(TRI_UNKNOWN_MEM_ZONE, context); }
void TRI_FreeErrorAql (TRI_aql_error_t* const error) { assert(error); TRI_DestroyErrorAql(error); TRI_Free(TRI_UNKNOWN_MEM_ZONE, error); }