This commit is contained in:
Josip Mrden 2024-03-20 13:33:09 +01:00
parent 7f335052be
commit f517f8f368
2 changed files with 8 additions and 5 deletions

View File

@ -4088,10 +4088,7 @@ mgp_error mgp_execute_query(mgp_graph *graph, mgp_memory *memory, const char *qu
auto *interpreter = new memgraph::query::Interpreter(instance, instance->dbms_handler->Get());
interpreter->SetUser(graph->ctx->user_or_role);
// instance->interpreters.WithLock([&interpreter](auto &interpreters) { interpreters.insert(&interpreter); });
// memgraph::utils::OnScopeExit erase_interpreter([&] {
// instance->interpreters.WithLock([&interpreter](auto &interpreters) { interpreters.erase(&interpreter); });
// });
instance->interpreters.WithLock([interpreter](auto &interpreters) { interpreters.insert(interpreter); });
const auto query_params = CreateQueryParams(params);
@ -4108,6 +4105,12 @@ mgp_error mgp_execute_query(mgp_graph *graph, mgp_memory *memory, const char *qu
result);
}
mgp_execution_result::~mgp_execution_result() {
auto *instance = memgraph::query::InterpreterContext::getInstance();
instance->interpreters.WithLock([this](auto &interpreters) { interpreters.erase(interpreter); });
interpreter = nullptr;
}
mgp_error mgp_fetch_execution_headers(mgp_execution_result *exec_result, mgp_execution_headers **result) {
return WrapExceptions([exec_result]() { return &exec_result->headers; }, result);
}

View File

@ -1021,7 +1021,7 @@ struct mgp_execution_rows {
struct mgp_execution_result {
mgp_execution_result(memgraph::query::Interpreter *interpreter, mgp_execution_headers headers)
: interpreter(interpreter), headers(headers) {}
~mgp_execution_result() = default;
~mgp_execution_result();
memgraph::query::Interpreter *interpreter;
mgp_execution_headers headers;