From f8d7cf17a7849a9b7356853dde4f17d0d4c1bff5 Mon Sep 17 00:00:00 2001 From: zhang2014 Date: Mon, 27 Aug 2018 19:03:22 +0800 Subject: [PATCH] ISSUES-2482 fix crash when on cluster --- dbms/src/Interpreters/DDLWorker.cpp | 6 +++--- dbms/src/Interpreters/DDLWorker.h | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/dbms/src/Interpreters/DDLWorker.cpp b/dbms/src/Interpreters/DDLWorker.cpp index eb31e94d6c1..b8c58dcf978 100644 --- a/dbms/src/Interpreters/DDLWorker.cpp +++ b/dbms/src/Interpreters/DDLWorker.cpp @@ -517,9 +517,9 @@ bool DDLWorker::tryExecuteQuery(const String & query, const DDLTask & task, Exec try { - Context local_context(context); - local_context.setCurrentQueryId(""); // generate random query_id - executeQuery(istr, ostr, false, local_context, nullptr); + current_context = std::make_unique(context); + current_context->setCurrentQueryId(""); // generate random query_id + executeQuery(istr, ostr, false, *current_context, nullptr); } catch (...) { diff --git a/dbms/src/Interpreters/DDLWorker.h b/dbms/src/Interpreters/DDLWorker.h index d640b6d0bc8..5db27c49f10 100644 --- a/dbms/src/Interpreters/DDLWorker.h +++ b/dbms/src/Interpreters/DDLWorker.h @@ -70,6 +70,7 @@ private: private: Context & context; Logger * log; + std::unique_ptr current_context; std::string host_fqdn; /// current host domain name std::string host_fqdn_id; /// host_name:port