~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/pbms/src/defs_ms.h

  • Committer: Monty Taylor
  • Date: 2008-09-16 00:00:48 UTC
  • mto: This revision was merged to the branch mainline in revision 391.
  • Revision ID: monty@inaugust.com-20080916000048-3rvrv3gv9l0ad3gs
Fixed copyright headers in drizzled/

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* Copyright (C) 2008 PrimeBase Technologies GmbH, Germany
2
 
 *
3
 
 * PrimeBase Media Stream for MySQL
4
 
 *
5
 
 * This program is free software; you can redistribute it and/or modify
6
 
 * it under the terms of the GNU General Public License as published by
7
 
 * the Free Software Foundation; either version 2 of the License, or
8
 
 * (at your option) any later version.
9
 
 *
10
 
 * This program is distributed in the hope that it will be useful,
11
 
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 
 * GNU General Public License for more details.
14
 
 *
15
 
 * You should have received a copy of the GNU General Public License
16
 
 * along with this program; if not, write to the Free Software
17
 
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18
 
 *
19
 
 * Original author: Paul McCullagh (H&G2JCtL)
20
 
 * Continued development: Barry Leslie
21
 
 *
22
 
 * 2007-07-04
23
 
 *
24
 
 * Global definitions.
25
 
 *
26
 
 */
27
 
 
28
 
#ifndef __DEFS_MS_H__
29
 
#define __DEFS_MS_H__
30
 
 
31
 
#include "cslib/CSDefs.h"
32
 
 
33
 
#define MS_IDENTIFIER_CHAR_COUNT        64
34
 
 
35
 
#define MS_IDENTIFIER_NAME_SIZE         ((MS_IDENTIFIER_CHAR_COUNT * 3) + 1)    // The identifier length as UTF-8
36
 
 
37
 
#define MS_TABLE_NAME_SIZE                      MS_IDENTIFIER_NAME_SIZE                                 // The maximum length of a table name 
38
 
#define MS_DATABASE_NAME_SIZE           MS_IDENTIFIER_NAME_SIZE
39
 
 
40
 
#define MS_TABLE_URL_SIZE                       (MS_DATABASE_NAME_SIZE + MS_TABLE_NAME_SIZE)
41
 
 
42
 
#define MS_CONNECTION_THREAD            1000
43
 
#define MS_TEMP_LOG_THREAD                      1001
44
 
#define MS_COMPACTOR_THREAD                     1002
45
 
 
46
 
#ifdef DEBUG
47
 
#define MS_DEFAULT_TEMP_LOG_WAIT        (200*60)
48
 
 
49
 
// Set MS_DEFAULT_TEMP_LOG_WAIT high to prevent 
50
 
// BLOBs from being deleted while walking through 
51
 
// the code in the debugger.
52
 
//#define MS_DEFAULT_TEMP_LOG_WAIT      (200*60) 
53
 
#else
54
 
#define MS_DEFAULT_TEMP_LOG_WAIT        (10*60)
55
 
#endif
56
 
 
57
 
/* Default compactor wait time in seconds! */
58
 
#define MS_COMPACTOR_POLLS
59
 
#ifdef MS_COMPACTOR_POLLS
60
 
#ifdef DEBUG
61
 
#define MS_COMPACTOR_POLL_FREQ          1000            // milli-seconds
62
 
#else
63
 
#define MS_COMPACTOR_POLL_FREQ          3000
64
 
#endif
65
 
#else
66
 
#ifdef DEBUG
67
 
#define MS_DEFAULT_COMPACTOR_WAIT       120
68
 
#else
69
 
#define MS_DEFAULT_COMPACTOR_WAIT       30
70
 
#endif
71
 
#endif
72
 
 
73
 
#ifdef DEBUG
74
 
//#define MS_DEFAULT_GARBAGE_LEVEL      1
75
 
#define MS_DEFAULT_GARBAGE_LEVEL        10
76
 
#else
77
 
#define MS_DEFAULT_GARBAGE_LEVEL        50
78
 
#endif
79
 
 
80
 
#ifdef DEBUG
81
 
#define MS_REPO_THRESHOLD_DEF           "20MB"
82
 
//#define MS_REPO_THRESHOLD_DEF         "32K"
83
 
#else
84
 
#define MS_REPO_THRESHOLD_DEF           "128MB"
85
 
#endif
86
 
 
87
 
#ifdef DEBUG
88
 
#define MS_TEMP_LOG_THRESHOLD_DEF       "32K"
89
 
#else
90
 
#define MS_TEMP_LOG_THRESHOLD_DEF       "32MB"
91
 
#endif
92
 
 
93
 
#define MS_HTTP_METADATA_HEADERS_DEF "Content-Type"
94
 
 
95
 
#ifdef DEBUG
96
 
#define MS_COMPACTOR_BUFFER_SIZE        (4*1024)
97
 
#else
98
 
#define MS_COMPACTOR_BUFFER_SIZE        (64*1024)
99
 
#endif
100
 
 
101
 
#define MS_BACKUP_BUFFER_SIZE MS_COMPACTOR_BUFFER_SIZE
102
 
 
103
 
/*
104
 
 * The time (in seconds) that a connection thread will stay alive, when it is idle:
105
 
 */
106
 
#ifdef DEBUG
107
 
#define MS_IDLE_THREAD_TIMEOUT          (10)
108
 
#else
109
 
#define MS_IDLE_THREAD_TIMEOUT          (40)
110
 
#endif
111
 
 
112
 
/*
113
 
 * The timeout, in milli-seconds, before the HTTP server will close an inactive HTTP connection.
114
 
*/
115
 
#define MS_DEFAULT_KEEP_ALIVE           (10) 
116
 
 
117
 
#ifdef DRIZZLED
118
 
#include <boost/dynamic_bitset.hpp>
119
 
/* Drizzle is stuck at this level: */
120
 
#define MYSQL_VERSION_ID                                        60005
121
 
 
122
 
#define TABLE_LIST                                                      TableList
123
 
#define TABLE                                                           drizzled::Table
124
 
#define Field                                                           drizzled::Field
125
 
//#define enum_field_types                                      drizzled::enum_field_types
126
 
 
127
 
#define my_charset_bin                                          drizzled::my_charset_bin
128
 
#define THR_LOCK                                                        drizzled::THR_LOCK
129
 
 
130
 
#define TABLE_SHARE                                                     TableShare
131
 
#define THD                                                                     drizzled::Session
132
 
#define MYSQL_THD                                                       Session *
133
 
#define THR_THD                                                         THR_Session
134
 
#define STRUCT_TABLE                                            class Table
135
 
#define MY_BITMAP                                                       boost::dynamic_bitset<>
136
 
 
137
 
#define MYSQL_TYPE_TIMESTAMP                            DRIZZLE_TYPE_TIMESTAMP
138
 
#define MYSQL_TYPE_LONG                                         DRIZZLE_TYPE_LONG
139
 
#define MYSQL_TYPE_SHORT                                        DRIZZLE_TYPE_LONG
140
 
#define MYSQL_TYPE_STRING                                       DRIZZLE_TYPE_VARCHAR
141
 
#define MYSQL_TYPE_VARCHAR                                      DRIZZLE_TYPE_VARCHAR
142
 
#define MYSQL_TYPE_LONGLONG                                     DRIZZLE_TYPE_LONGLONG
143
 
#define MYSQL_TYPE_BLOB                                         DRIZZLE_TYPE_BLOB
144
 
#define MYSQL_TYPE_LONG_BLOB                            DRIZZLE_TYPE_BLOB
145
 
#define MYSQL_TYPE_ENUM                                         DRIZZLE_TYPE_ENUM
146
 
#define MYSQL_PLUGIN_VAR_HEADER                         DRIZZLE_PLUGIN_VAR_HEADER
147
 
#define MYSQL_STORAGE_ENGINE_PLUGIN                     DRIZZLE_STORAGE_ENGINE_PLUGIN
148
 
#define MYSQL_INFORMATION_SCHEMA_PLUGIN         DRIZZLE_INFORMATION_SCHEMA_PLUGIN
149
 
#define memcpy_fixed                                            memcpy
150
 
#define bfill(m, len, ch)                                       memset(m, ch, len)
151
 
 
152
 
#define mx_tmp_use_all_columns(x, y)            (x)->use_all_columns(y)
153
 
#define mx_tmp_restore_column_map(x, y)         (x)->restore_column_map(y)
154
 
 
155
 
#define MX_TABLE_TYPES_T                                        handler::Table_flags
156
 
#define MX_UINT8_T                                                      uint8_t
157
 
#define MX_ULONG_T                                                      uint32_t
158
 
#define MX_ULONGLONG_T                                          uint64_t
159
 
#define MX_LONGLONG_T                                           uint64_t
160
 
#define MX_CHARSET_INFO                                         struct charset_info_st
161
 
#define MX_CONST_CHARSET_INFO                           const struct charset_info_st                    
162
 
#define MX_CONST                                                        const
163
 
#define my_bool                                                         bool
164
 
#define int16                                                           int16_t
165
 
#define int32                                                           int32_t
166
 
#define uint16                                                          uint16_t
167
 
#define uint32                                                          uint32_t
168
 
#define uchar                                                           unsigned char
169
 
#define longlong                                                        int64_t
170
 
#define ulonglong                                                       uint64_t
171
 
 
172
 
#define HAVE_LONG_LONG
173
 
 
174
 
#define my_malloc(x, y)                                         malloc(x)
175
 
#define my_free(x, y)                                           free(x)
176
 
 
177
 
#define HA_CAN_SQL_HANDLER                                      0
178
 
#define HA_CAN_INSERT_DELAYED                           0
179
 
#define HA_BINLOG_ROW_CAPABLE                           0
180
 
 
181
 
#define max                                                                     cmax
182
 
#define min                                                                     cmin
183
 
 
184
 
#define NullS                                                           NULL
185
 
 
186
 
#define current_thd                                                     current_session
187
 
#define thd_charset                                                     session_charset
188
 
#define thd_query                                                       session_query
189
 
#define thd_slave_thread                                        session_slave_thread
190
 
#define thd_non_transactional_update            session_non_transactional_update
191
 
#define thd_binlog_format                                       session_binlog_format
192
 
#define thd_mark_transaction_to_rollback        session_mark_transaction_to_rollback
193
 
#define current_thd                                                     current_session
194
 
#define thd_sql_command(x)                                              ((x)->getSqlCommand())
195
 
#define thd_test_options                                        session_test_options
196
 
#define thd_killed                                                      session_killed
197
 
#define thd_tx_isolation(x)                                     ((x)->getTxIsolation())
198
 
#define thd_in_lock_tables                                      session_in_lock_tables
199
 
#define thd_tablespace_op(x)                                    ((x)->doingTablespaceOperation())
200
 
#define thd_alloc                                                       session_alloc
201
 
#define thd_make_lex_string                                     session_make_lex_string
202
 
 
203
 
#define my_pthread_setspecific_ptr(T, V)        pthread_setspecific(T, (void*) (V))
204
 
 
205
 
#define mysql_real_data_home                            drizzle_real_data_home
206
 
 
207
 
#define mi_int4store(T,A)   { uint32_t def_temp= (uint32_t) (A);\
208
 
                              ((unsigned char*) (T))[3]= (unsigned char) (def_temp);\
209
 
                              ((unsigned char*) (T))[2]= (unsigned char) (def_temp >> 8);\
210
 
                              ((unsigned char*) (T))[1]= (unsigned char) (def_temp >> 16);\
211
 
                              ((unsigned char*) (T))[0]= (unsigned char) (def_temp >> 24); }
212
 
 
213
 
#define mi_uint4korr(A) ((uint32_t) (((uint32_t) (((const unsigned char*) (A))[3])) +\
214
 
                                   (((uint32_t) (((const unsigned char*) (A))[2])) << 8) +\
215
 
                                   (((uint32_t) (((const unsigned char*) (A))[1])) << 16) +\
216
 
                                   (((uint32_t) (((const unsigned char*) (A))[0])) << 24)))
217
 
                                                                   
218
 
#define mi_int8store(T,A)   { uint64_t def_temp= (uint64_t) (A);\
219
 
                              ((unsigned char*) (T))[7]= (unsigned char) (def_temp);\
220
 
                              ((unsigned char*) (T))[6]= (unsigned char) (def_temp >> 8);\
221
 
                              ((unsigned char*) (T))[5]= (unsigned char) (def_temp >> 16);\
222
 
                              ((unsigned char*) (T))[4]= (unsigned char) (def_temp >> 24);\
223
 
                              ((unsigned char*) (T))[3]= (unsigned char) (def_temp >> 32);\
224
 
                              ((unsigned char*) (T))[2]= (unsigned char) (def_temp >> 40);\
225
 
                              ((unsigned char*) (T))[1]= (unsigned char) (def_temp >> 48);\
226
 
                              ((unsigned char*) (T))[0]= (unsigned char) (def_temp >> 56); }
227
 
 
228
 
#define mi_uint8korr(A) ((uint64_t) (((uint64_t) (((const unsigned char*) (A))[7])) +\
229
 
                                   (((uint64_t) (((const unsigned char*) (A))[6])) << 8) +\
230
 
                                   (((uint64_t) (((const unsigned char*) (A))[5])) << 16) +\
231
 
                                   (((uint64_t) (((const unsigned char*) (A))[4])) << 24) +\
232
 
                                   (((uint64_t) (((const unsigned char*) (A))[3])) << 32) +\
233
 
                                   (((uint64_t) (((const unsigned char*) (A))[2])) << 40) +\
234
 
                                   (((uint64_t) (((const unsigned char*) (A))[1])) << 48) +\
235
 
                                   (((uint64_t) (((const unsigned char*) (A))[0])) << 56)))
236
 
                                                                   
237
 
#else // DRIZZLED
238
 
/* The MySQL case: */
239
 
#define STRUCT_TABLE                                            struct st_table
240
 
 
241
 
#define mx_tmp_use_all_columns                          dbug_tmp_use_all_columns
242
 
#define mx_tmp_restore_column_map(x, y)         dbug_tmp_restore_column_map((x)->read_set, y)
243
 
 
244
 
#define MX_TABLE_TYPES_T                                        ulonglong
245
 
#define MX_UINT8_T                                                      uint8
246
 
#define MX_ULONG_T                                                      ulong
247
 
#define MX_ULONGLONG_T                                          ulonglong
248
 
#define MX_LONGLONG_T                                           longlong
249
 
#define MX_CHARSET_INFO                                         CHARSET_INFO
250
 
#define MX_CONST_CHARSET_INFO                           struct charset_info_st                  
251
 
#define MX_CONST                                                        
252
 
 
253
 
#endif // DRIZZLED
254
 
 
255
 
#endif