#pragma once #include struct ContextHolder { DB::SharedContextHolder shared_context; DB::ContextMutablePtr context; ContextHolder() : shared_context(DB::Context::createShared()) , context(DB::Context::createGlobal(shared_context.get())) { context->makeGlobalContext(); context->setPath("./"); } ContextHolder(ContextHolder &&) = default; void destroy() { context->shutdown(); context.reset(); shared_context.reset(); } }; const ContextHolder & getContext(); ContextHolder & getMutableContext(); void destroyContext();