12
#if (defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)) && !defined(DRIZZLE_SERVER) && !defined(__WIN__)
12
#define INNODB_VERSION_MAJOR 1
13
#define INNODB_VERSION_MINOR 0
14
#define INNODB_VERSION_BUGFIX 1
16
/* The following is the InnoDB version as shown in
17
SELECT plugin_version FROM information_schema.plugins;
18
calculated in in make_version_string() in sql/sql_show.cc like this:
19
"version >> 8" . "version & 0xff"
20
because the version is shown with only one dot, we skip the last
21
component, i.e. we show M.N.P as M.N */
22
#define INNODB_VERSION_SHORT \
23
(INNODB_VERSION_MAJOR << 8 | INNODB_VERSION_MINOR)
25
/* auxiliary macros to help creating the version as string */
26
#define __INNODB_VERSION(a, b, c) (#a "." #b "." #c)
27
#define _INNODB_VERSION(a, b, c) __INNODB_VERSION(a, b, c)
29
#define INNODB_VERSION_STR \
30
_INNODB_VERSION(INNODB_VERSION_MAJOR, \
31
INNODB_VERSION_MINOR, \
32
INNODB_VERSION_BUGFIX)
34
#ifdef MYSQL_DYNAMIC_PLUGIN
35
/* In the dynamic plugin, redefine some externally visible symbols
36
in order not to conflict with the symbols of a builtin InnoDB. */
38
/* Rename all C++ classes that contain virtual functions, because we
39
have not figured out how to apply the visibility=hidden attribute to
40
the virtual method table (vtable) in GCC 3. */
41
# define ha_innobase ha_innodb
42
#endif /* MYSQL_DYNAMIC_PLUGIN */
44
#if (defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)) && !defined(MYSQL_SERVER) && !defined(__WIN__)
30
62
in compiling more Posix-compatible. These headers also define __WIN__
31
63
if we are compiling on Windows. */
33
# include <drizzled/global.h>
34
# include <mysys/my_pthread.h>
65
# if defined(BUILD_DRIZZLE)
66
# include <drizzled/global.h>
67
# include <mysys/my_pthread.h>
69
# include <my_global.h>
70
# include <my_pthread.h>
36
73
/* Include <sys/stat.h> to get S_I... macros defined for os0file.c */
37
74
# include <sys/stat.h>
75
# if !defined(__NETWARE__) && !defined(__WIN__)
76
# include <sys/mman.h> /* mmap() for os0proc.c */
80
120
#define UNIV_INIT_MEM_TO_ZERO
83
/* Make a non-inline debug version */
123
/* When this macro is defined then additional test functions will be
124
compiled. These functions live at the end of each relevant source file
125
and have "test_" prefix. These functions are not called from anywhere in
126
the code, they can be called from gdb after
127
innobase_start_or_create_for_mysql() has executed using the call
128
command. Not tested on Windows. */
130
#define UNIV_COMPILE_TEST_FUNCS
86
134
#define UNIV_DEBUG_VALGRIND /* Enable extra
87
135
Valgrind instrumentation */
88
#define UNIV_DEBUG /* Enable ut_ad() assertions */
136
#define UNIV_DEBUG_PRINT /* Enable the compilation of
137
some debug print functions */
138
#define UNIV_BUF_DEBUG /* Enable buffer pool
139
debugging without UNIV_DEBUG */
140
#define UNIV_DEBUG /* Enable ut_ad() assertions
141
and disable UNIV_INLINE */
142
#define UNIV_DEBUG_FILE_ACCESSES /* Debug .ibd file access
143
(field file_page_was_freed
145
#define UNIV_HASH_DEBUG /* debug HASH_ macros */
89
146
#define UNIV_LIST_DEBUG /* debug UT_LIST_ macros */
90
147
#define UNIV_MEM_DEBUG /* detect memory leaks etc */
91
#define UNIV_IBUF_DEBUG /* debug the insert buffer;
148
#define UNIV_IBUF_DEBUG /* debug the insert buffer */
149
#define UNIV_IBUF_COUNT_DEBUG /* debug the insert buffer;
92
150
this limits the database to IBUF_COUNT_N_SPACES and IBUF_COUNT_N_PAGES,
93
151
and the insert buffer must be empty when the database is started */
94
152
#define UNIV_SYNC_DEBUG /* debug mutex and latch
129
189
/* the above option enables basic recovery debugging:
130
190
new allocated file pages are reset */
132
#if (!defined(UNIV_DEBUG) && !defined(INSIDE_HA_INNOBASE_CC) && !defined(UNIV_MUST_NOT_INLINE))
192
/* Linkage specifier for non-static InnoDB symbols (variables and functions)
193
that are only referenced from within InnoDB, not from MySQL */
197
# define UNIV_INTERN __attribute__((visibility ("hidden")))
200
#if (!defined(UNIV_DEBUG) && !defined(UNIV_MUST_NOT_INLINE))
133
201
/* Definition for inline version */
168
236
========================
171
/* The universal page size of the database */
172
#define UNIV_PAGE_SIZE (2 * 8192) /* NOTE! Currently, this has to be a
174
239
/* The 2-logarithm of UNIV_PAGE_SIZE: */
175
240
#define UNIV_PAGE_SIZE_SHIFT 14
241
/* The universal page size of the database */
242
#define UNIV_PAGE_SIZE (1 << UNIV_PAGE_SIZE_SHIFT)
177
244
/* Maximum number of parallel threads in a parallelized operation */
178
245
#define UNIV_MAX_PARALLELISM 32
214
typedef __int64 ib_longlong;
281
typedef __int64 ib_int64_t;
282
typedef unsigned __int64 ib_uint64_t;
216
typedef int64_t ib_longlong;
284
/* Note: longlong and ulonglong come from MySQL headers. */
285
# if defined(BUILD_DRIZZLE)
286
typedef int64_t ib_int64_t;
287
typedef uint64_t ib_uint64_t;
288
typedef uint16_t uint16;
289
typedef bool my_bool;
290
typedef uint32_t uint32;
292
typedef longlong ib_int64_t;
293
typedef ulonglong ib_uint64_t;
219
typedef uint64_t ullint;
298
typedef unsigned long long int ullint;
222
301
#if SIZEOF_LONG != SIZEOF_VOIDP
233
312
/* Maximum value for a ulint */
234
313
#define ULINT_MAX ((ulint)(-2))
315
/* Maximum value for ib_uint64_t */
316
#define IB_ULONGLONG_MAX ((ib_uint64_t) (~0ULL))
236
318
/* This 'ibool' type is used within Innobase. Remember that different included
237
319
headers may define 'bool' differently. Do not assume that 'bool' is a ulint! */
238
320
#define ibool ulint
308
390
# define UNIV_MEM_INVALID(addr, size) VALGRIND_MAKE_MEM_UNDEFINED(addr, size)
309
391
# define UNIV_MEM_FREE(addr, size) VALGRIND_MAKE_MEM_NOACCESS(addr, size)
310
392
# define UNIV_MEM_ALLOC(addr, size) VALGRIND_MAKE_MEM_UNDEFINED(addr, size)
393
# define UNIV_MEM_DESC(addr, size, b) VALGRIND_CREATE_BLOCK(addr, size, b)
394
# define UNIV_MEM_UNDESC(b) VALGRIND_DISCARD(b)
311
395
# define UNIV_MEM_ASSERT_RW(addr, size) do { \
312
396
const void* _p = (const void*) (ulint) \
313
397
VALGRIND_CHECK_MEM_IS_DEFINED(addr, size); \
331
415
# define UNIV_MEM_INVALID(addr, size) do {} while(0)
332
416
# define UNIV_MEM_FREE(addr, size) do {} while(0)
333
417
# define UNIV_MEM_ALLOC(addr, size) do {} while(0)
418
# define UNIV_MEM_DESC(addr, size, b) do {} while(0)
419
# define UNIV_MEM_UNDESC(b) do {} while(0)
334
420
# define UNIV_MEM_ASSERT_RW(addr, size) do {} while(0)
335
421
# define UNIV_MEM_ASSERT_W(addr, size) do {} while(0)