diff --git a/sql/sql_cursor.h b/sql/sql_cursor.h index 00b9cd4e67a..b9d0b41ea19 100644 --- a/sql/sql_cursor.h +++ b/sql/sql_cursor.h @@ -39,7 +39,7 @@ class JOIN; its base class. */ -class Server_side_cursor: protected Query_arena, public Sql_alloc +class Server_side_cursor: protected Query_arena { protected: /** Row destination used for fetch */ @@ -61,6 +61,8 @@ public: } virtual ~Server_side_cursor(); + static void *operator new(size_t size, MEM_ROOT *mem_root) + { return alloc_root(mem_root, size); } static void operator delete(void *ptr, size_t size); static void operator delete(void *, MEM_ROOT *){} }; diff --git a/sql/sql_prepare.h b/sql/sql_prepare.h index f1c4e5e4be9..acdaa9a67a7 100644 --- a/sql/sql_prepare.h +++ b/sql/sql_prepare.h @@ -115,7 +115,7 @@ class Ed_row; automatic type conversion. */ -class Ed_result_set: public Sql_alloc +class Ed_result_set { public: operator List&() { return *m_rows; } @@ -129,6 +129,8 @@ public: size_t get_field_count() const { return m_column_count; } + static void *operator new(size_t size, MEM_ROOT *mem_root) + { return alloc_root(mem_root, size); } static void operator delete(void *ptr, size_t size) throw (); static void operator delete(void *, MEM_ROOT *){} private: