17
17
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20
#ifndef DRIZZLE_SERVER_SQL_ALLOC_H
21
#define DRIZZLE_SERVER_SQL_ALLOC_H
23
#include <libdrizzle/net_serv.h>
24
#include <mysys/my_alloc.h>
25
#include <mystrings/m_ctype.h>
29
void init_sql_alloc(MEM_ROOT *root, size_t block_size, size_t pre_alloc_size);
30
void *sql_alloc(size_t);
31
void *sql_calloc(size_t);
32
char *sql_strdup(const char *str);
33
char *sql_strmake(const char *str, size_t len);
34
void *sql_memdup(const void * ptr, size_t size);
35
void sql_element_free(void *ptr);
36
char *sql_strmake_with_convert(const char *str, size_t arg_length,
37
const CHARSET_INFO * const from_cs,
38
size_t max_res_length,
39
const CHARSET_INFO * const to_cs,
40
size_t *result_length);
41
void sql_kill(Session *session, ulong id, bool only_kill_query);
42
bool net_request_file(NET* net, const char* fname);
43
char* query_table_status(Session *session,const char *db,const char *table_name);
45
/* mysql standard class memory allocator */
22
#include <drizzled/memory/root.h>
23
#include <drizzled/visibility.h>
28
void* sql_alloc(size_t);
29
void* sql_calloc(size_t);
30
char* sql_strdup(const char*);
31
char* sql_strdup(str_ref);
32
void* sql_memdup(const void*, size_t);
34
class DRIZZLED_API SqlAlloc
49
static void *operator new(size_t size) throw ()
51
return sql_alloc(size);
53
static void *operator new[](size_t size)
55
return sql_alloc(size);
57
static void *operator new[](size_t size, MEM_ROOT *mem_root) throw ()
58
{ return alloc_root(mem_root, size); }
59
static void *operator new(size_t size, MEM_ROOT *mem_root) throw ()
60
{ return alloc_root(mem_root, size); }
61
static void operator delete(void *, size_t)
63
static void operator delete(void *, MEM_ROOT *)
64
{ /* never called */ }
65
static void operator delete[](void *, MEM_ROOT *)
66
{ /* never called */ }
67
static void operator delete[](void *, size_t)
71
inline Sql_alloc() :dummy(0) {}
72
inline ~Sql_alloc() {}
75
inline ~Sql_alloc() {}
37
static void* operator new(size_t size)
39
return memory::sql_alloc(size);
42
static void* operator new[](size_t size)
44
return memory::sql_alloc(size);
47
static void* operator new(size_t size, Root& root)
49
return root.alloc(size);
52
static void* operator new[](size_t size, Root& root)
54
return root.alloc(size);
57
static void* operator new(size_t size, Root* root)
59
return root->alloc(size);
62
static void* operator new[](size_t size, Root* root)
64
return root->alloc(size);
67
static void operator delete(void*)
71
static void operator delete[](void*)
75
static void operator delete(void*, Root&)
79
static void operator delete[](void*, Root&)
83
static void operator delete(void*, Root*)
87
static void operator delete[](void*, Root*)
80
#endif /* DRIZZLE_SERVER_SQL_ALLOC_H */