20
20
#ifndef DRIZZLED_SQL_ALLOC_H
21
21
#define DRIZZLED_SQL_ALLOC_H
23
#include <mysys/my_alloc.h>
24
#include <mystrings/m_ctype.h>
25
typedef struct st_mem_root MEM_ROOT;
28
28
void init_sql_alloc(MEM_ROOT *root, size_t block_size, size_t pre_alloc_size);
32
32
char *sql_strmake(const char *str, size_t len);
33
33
void *sql_memdup(const void * ptr, size_t size);
34
34
void sql_element_free(void *ptr);
35
void sql_kill(Session *session, ulong id, bool only_kill_query);
35
void sql_kill(Session *session, unsigned long id, bool only_kill_query);
36
36
char* query_table_status(Session *session,const char *db,const char *table_name);
38
38
/* mysql standard class memory allocator */
42
static void *operator new(size_t size) throw ()
44
return sql_alloc(size);
46
static void *operator new[](size_t size)
48
return sql_alloc(size);
50
static void *operator new[](size_t size, MEM_ROOT *mem_root) throw ()
51
{ return alloc_root(mem_root, size); }
52
static void *operator new(size_t size, MEM_ROOT *mem_root) throw ()
53
{ return alloc_root(mem_root, size); }
42
static void *operator new(size_t size);
43
static void *operator new[](size_t size);
44
static void *operator new[](size_t size, MEM_ROOT *mem_root);
45
static void *operator new(size_t size, MEM_ROOT *mem_root);
54
46
static void operator delete(void *, size_t)
56
48
static void operator delete(void *, MEM_ROOT *)
57
{ /* never called */ }
58
50
static void operator delete[](void *, MEM_ROOT *)
59
{ /* never called */ }
60
52
static void operator delete[](void *, size_t)