~mysql/mysql-server/mysql-6.0

« back to all changes in this revision

Viewing changes to innobase/include/univold.i

  • Committer: monty at mysql
  • Date: 2001-02-17 12:19:19 UTC
  • mto: (554.1.1)
  • mto: This revision was merged to the branch mainline in revision 556.
  • Revision ID: sp1r-monty@donna.mysql.com-20010217121919-07904
Added Innobase to source distribution

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/***************************************************************************
 
2
Version control for database, common definitions, and include files
 
3
 
 
4
(c) 1994 - 2000 Innobase Oy
 
5
 
 
6
Created 1/20/1994 Heikki Tuuri
 
7
****************************************************************************/
 
8
 
 
9
#ifndef univ_i
 
10
#define univ_i
 
11
 
 
12
#define UNIV_INTEL
 
13
#define UNIV_PENTIUM
 
14
/* If UNIV_WINNT is not defined, we assume Windows 95 */
 
15
 
 
16
#define UNIV_WINNT
 
17
#define UNIV_WINNT4
 
18
#define __NT__
 
19
 
 
20
#define UNIV_VISUALC
 
21
 
 
22
#define __WIN__
 
23
#define _WIN32_WINNT    0x0400
 
24
 
 
25
/*                      DEBUG VERSION CONTROL
 
26
                        ===================== */
 
27
/* Make a non-inline debug version */
 
28
/*
 
29
#define UNIV_DEBUG
 
30
#define UNIV_MEM_DEBUG
 
31
#define UNIV_SYNC_DEBUG
 
32
#define UNIV_SEARCH_DEBUG
 
33
 
 
34
#define UNIV_IBUF_DEBUG
 
35
 
 
36
#define UNIV_SEARCH_PERF_STAT
 
37
#define UNIV_SYNC_PERF_STAT
 
38
*/
 
39
#define UNIV_LIGHT_MEM_DEBUG
 
40
 
 
41
#define YYDEBUG                 1
 
42
/*
 
43
#define UNIV_SQL_DEBUG
 
44
#define UNIV_LOG_DEBUG
 
45
*/
 
46
                        /* the above option prevents forcing of log to disk
 
47
                        at a buffer page write: it should be tested with this
 
48
                        option off; also some ibuf tests are suppressed */
 
49
/*
 
50
#define UNIV_BASIC_LOG_DEBUG
 
51
*/
 
52
                        /* the above option enables basic recovery debugging:
 
53
                        new allocated file pages are reset */
 
54
 
 
55
/* The debug version is slower, thus we may change the length of test loops
 
56
depending on the UNIV_DBC parameter */
 
57
#ifdef UNIV_DEBUG
 
58
#define UNIV_DBC        1
 
59
#else
 
60
#define UNIV_DBC        100
 
61
#endif
 
62
 
 
63
#ifndef UNIV_DEBUG
 
64
/* Definition for inline version */
 
65
 
 
66
#ifdef UNIV_VISUALC
 
67
#define UNIV_INLINE     __inline
 
68
#elif defined(UNIV_GNUC)
 
69
#define UNIV_INLINE     extern __inline__
 
70
#endif
 
71
 
 
72
#else
 
73
/* If we want to compile a noninlined version we use the following macro
 
74
definitions: */
 
75
 
 
76
#define UNIV_NONINL
 
77
#define UNIV_INLINE
 
78
 
 
79
#endif  /* UNIV_DEBUG */
 
80
/* If the compiler does not know inline specifier, we use: */
 
81
/*
 
82
#define UNIV_INLINE     static
 
83
*/
 
84
 
 
85
 
 
86
/*
 
87
                        MACHINE VERSION CONTROL
 
88
                        =======================
 
89
*/
 
90
 
 
91
#ifdef UNIV_PENTIUM
 
92
 
 
93
/* In a 32-bit computer word size is 4 */
 
94
#define UNIV_WORD_SIZE          4
 
95
 
 
96
/* The following alignment is used in memory allocations in memory heap
 
97
management to ensure correct alignment for doubles etc. */
 
98
#define UNIV_MEM_ALIGNMENT      8
 
99
 
 
100
/* The following alignment is used in aligning lints etc. */
 
101
#define UNIV_WORD_ALIGNMENT     UNIV_WORD_SIZE
 
102
 
 
103
#endif
 
104
 
 
105
/*
 
106
                        DATABASE VERSION CONTROL
 
107
                        ========================
 
108
*/
 
109
 
 
110
/* The universal page size of the database */
 
111
#define UNIV_PAGE_SIZE          (2 * 8192)/* NOTE! Currently, this has to be a
 
112
                                        power of 2 and divisible by
 
113
                                        UNIV_MEM_ALIGNMENT */
 
114
 
 
115
/* Do non-buffered io in buffer pool read/write operations */
 
116
#define UNIV_NON_BUFFERED_IO
 
117
 
 
118
/* Maximum number of parallel threads in a parallelized operation */
 
119
#define UNIV_MAX_PARALLELISM    32
 
120
 
 
121
/*
 
122
                        UNIVERSAL TYPE DEFINITIONS
 
123
                        ==========================
 
124
*/
 
125
 
 
126
 
 
127
typedef unsigned char   byte;
 
128
 
 
129
/* An other basic type we use is unsigned long integer which is intended to be
 
130
equal to the word size of the machine. */
 
131
 
 
132
typedef unsigned long int       ulint;
 
133
 
 
134
typedef long int                lint;
 
135
 
 
136
/* The following type should be at least a 64-bit floating point number */
 
137
typedef double          utfloat;
 
138
 
 
139
/* The 'undefined' value for a ulint */
 
140
#define ULINT_UNDEFINED         ((ulint)(-1))
 
141
 
 
142
/* The undefined 32-bit unsigned integer */
 
143
#define ULINT32_UNDEFINED       0xFFFFFFFF
 
144
 
 
145
/* Maximum value for a ulint */
 
146
#define ULINT_MAX               ((ulint)(-2))
 
147
 
 
148
 
 
149
/* Definition of the boolean type */
 
150
typedef ulint    bool;
 
151
 
 
152
#define TRUE    1
 
153
#define FALSE   0
 
154
 
 
155
/* The following number as the length of a logical field means that the field
 
156
has the SQL NULL as its value. */
 
157
#define UNIV_SQL_NULL   ULINT_UNDEFINED
 
158
 
 
159
#include <stdio.h>
 
160
#include "ut0dbg.h"
 
161
#include "ut0ut.h"
 
162
#include "db0err.h"
 
163
 
 
164
#endif