From b5098f3daeb4cc33628ed3c7abd5bafb9b42c91a Mon Sep 17 00:00:00 2001 From: Alexander Barkov Date: Tue, 15 Aug 2017 16:41:58 +0400 Subject: [PATCH] MDEV-13533 Remove the THD parameter from sp_head::init_sp_name() --- sql/sp_head.cc | 6 +++--- sql/sp_head.h | 2 +- sql/sql_class.h | 4 ++-- sql/sql_lex.cc | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/sql/sp_head.cc b/sql/sp_head.cc index 650ac175d34..bb6fe6613bf 100644 --- a/sql/sp_head.cc +++ b/sql/sp_head.cc @@ -610,7 +610,7 @@ sp_head::init(LEX *lex) void -sp_head::init_sp_name(THD *thd, const sp_name *spname) +sp_head::init_sp_name(const sp_name *spname) { DBUG_ENTER("sp_head::init_sp_name"); @@ -619,10 +619,10 @@ sp_head::init_sp_name(THD *thd, const sp_name *spname) DBUG_ASSERT(spname && spname->m_db.str && spname->m_db.length); /* We have to copy strings to get them into the right memroot. */ - Database_qualified_name::copy(mem_root, spname->m_db, spname->m_name); + Database_qualified_name::copy(&main_mem_root, spname->m_db, spname->m_name); m_explicit_name= spname->m_explicit_name; - spname->make_qname(thd, &m_qname); + spname->make_qname(&main_mem_root, &m_qname); DBUG_VOID_RETURN; } diff --git a/sql/sp_head.h b/sql/sp_head.h index e3cedb6e30a..730b2c11b43 100644 --- a/sql/sp_head.h +++ b/sql/sp_head.h @@ -320,7 +320,7 @@ public: /** Copy sp name from parser. */ void - init_sp_name(THD *thd, const sp_name *spname); + init_sp_name(const sp_name *spname); /** Set the body-definition start position. */ void diff --git a/sql/sql_class.h b/sql/sql_class.h index 410d4a73385..f30b4426fbc 100644 --- a/sql/sql_class.h +++ b/sql/sql_class.h @@ -5984,13 +5984,13 @@ public: (int) m_name.length, m_name.str); } // Export db and name as a qualified name string, allocate on mem_root. - bool make_qname(THD *thd, LEX_CSTRING *dst) const + bool make_qname(MEM_ROOT *mem_root, LEX_CSTRING *dst) const { const uint dot= !!m_db.length; char *tmp; /* format: [database + dot] + name + '\0' */ dst->length= m_db.length + dot + m_name.length; - if (!(dst->str= tmp= (char*) thd->alloc(dst->length + 1))) + if (!(dst->str= tmp= (char*) alloc_root(mem_root, dst->length + 1))) return true; sprintf(tmp, "%.*s%.*s%.*s", (int) m_db.length, (m_db.length ? m_db.str : ""), diff --git a/sql/sql_lex.cc b/sql/sql_lex.cc index ef1a41a34a7..8112b95a97d 100644 --- a/sql/sql_lex.cc +++ b/sql/sql_lex.cc @@ -5845,7 +5845,7 @@ sp_head *LEX::make_sp_head(THD *thd, const sp_name *name, sp->reset_thd_mem_root(thd); sp->init(this); if (name) - sp->init_sp_name(thd, name); + sp->init_sp_name(name); sphead= sp; } sp_chistics.init();