summaryrefslogtreecommitdiff
path: root/sql/sp_head.h
diff options
context:
space:
mode:
authorSergei Petrunia <psergey@askmonty.org>2020-01-17 00:24:17 +0300
committerSergei Petrunia <psergey@askmonty.org>2020-01-17 00:24:17 +0300
commitb04429434ad1ee7f49d263762a560f4ff31dd111 (patch)
treeb4018c1ddc398c4baa5d98edafd41eaee7dd88e3 /sql/sp_head.h
parentbb8226deabd177d70151d5e0729bf08533954ffd (diff)
parentbde7e0ba6e94d576c4563022f38e8d81b1f6d54a (diff)
downloadmariadb-git-b04429434ad1ee7f49d263762a560f4ff31dd111.tar.gz
Merge branch '10.1' into 10.2
# Conflicts: # sql/sp_head.cc # sql/sql_select.cc # sql/sql_trigger.cc
Diffstat (limited to 'sql/sp_head.h')
-rw-r--r--sql/sp_head.h17
1 files changed, 9 insertions, 8 deletions
diff --git a/sql/sp_head.h b/sql/sp_head.h
index e4665360288..882ff32f5e6 100644
--- a/sql/sp_head.h
+++ b/sql/sp_head.h
@@ -139,7 +139,7 @@ public:
bool
check_routine_name(LEX_STRING *ident);
-class sp_head :private Query_arena
+class sp_head :private Query_arena, public Sql_alloc
{
sp_head(const sp_head &); /**< Prevent use of these */
void operator=(sp_head &);
@@ -298,14 +298,16 @@ public:
being opened is probably enough).
*/
SQL_I_List<Item_trigger_field> m_trg_table_fields;
+private:
+ // users must use sp= sp_head::create()
+ sp_head(MEM_ROOT *mem_root_arg);
- static void *
- operator new(size_t size) throw ();
-
- static void
- operator delete(void *ptr, size_t size) throw ();
+ // users must use sp_head::destroy(sp)
+ virtual ~sp_head();
- sp_head();
+public:
+ static sp_head* create();
+ static void destroy(sp_head *sp);
/// Initialize after we have reset mem_root
void
@@ -323,7 +325,6 @@ public:
void
set_stmt_end(THD *thd);
- virtual ~sp_head();
bool
execute_trigger(THD *thd,