~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/definitions.h

  • Committer: Brian Aker
  • Date: 2010-05-21 18:25:00 UTC
  • mfrom: (1530.2.10)
  • Revision ID: brian@gaz-20100521182500-c30dbqd2ko56cf56
Merge Monty

Show diffs side-by-side

added added

removed removed

Lines of Context:
30
30
 
31
31
#include <stdint.h>
32
32
 
33
 
#include "common.h"
34
 
 
35
33
namespace drizzled
36
34
{
37
35
 
38
 
/* Global value for how we extend our temporary directory */
39
 
#define GLOBAL_TEMPORARY_EXT ".temporary"
40
 
 
41
36
/* These paths are converted to other systems (WIN95) before use */
42
37
 
43
38
#define LANGUAGE        "english/"
46
41
 
47
42
#define ER(X) ::drizzled::error_message((X))
48
43
 
49
 
/* buffer size for strerror_r() */
50
 
#define STRERROR_MAX 256
51
 
 
52
44
/* extra 4+4 bytes for slave tmp tables */
53
45
#define MAX_DBKEY_LENGTH (NAME_LEN*2+1+1+4+4)
54
46
#define MAX_ALIAS_NAME 256
199
191
#define FLUSH_TIME              0               /**< Don't flush tables */
200
192
#define MAX_CONNECT_ERRORS      10              ///< errors before disabling host
201
193
 
 
194
#define INTERRUPT_PRIOR 10
 
195
#define CONNECT_PRIOR   9
 
196
#define WAIT_PRIOR      8
 
197
#define QUERY_PRIOR     6
 
198
 
202
199
/* Bits from testflag */
203
200
enum test_flag_bit
204
201
{
221
218
#define MY_CHARSET_BIN_MB_MAXLEN 1
222
219
 
223
220
// uncachable cause
224
 
static const uint32_t UNCACHEABLE_DEPENDENT= 1;
225
 
static const uint32_t UNCACHEABLE_RAND= 2;
226
 
static const uint32_t UNCACHEABLE_SIDEEFFECT= 3;
 
221
#define UNCACHEABLE_DEPENDENT   1
 
222
#define UNCACHEABLE_RAND        2
 
223
#define UNCACHEABLE_SIDEEFFECT  4
227
224
/// forcing to save JOIN for explain
228
 
static const uint32_t UNCACHEABLE_EXPLAIN= 4;
 
225
#define UNCACHEABLE_EXPLAIN     8
229
226
/** Don't evaluate subqueries in prepare even if they're not correlated */
230
 
static const uint32_t UNCACHEABLE_PREPARE= 5;
 
227
#define UNCACHEABLE_PREPARE    16
231
228
/* For uncorrelated SELECT in an UNION with some correlated SELECTs */
232
 
static const uint32_t UNCACHEABLE_UNITED= 6;
 
229
#define UNCACHEABLE_UNITED     32
233
230
 
234
231
/* Used to check GROUP BY list in the MODE_ONLY_FULL_GROUP_BY mode */
235
232
#define UNDEF_POS (-1)
236
233
 
237
234
/* Options to add_table_to_list() */
238
 
static const uint32_t TL_OPTION_UPDATING= 0;
239
 
static const uint32_t TL_OPTION_FORCE_INDEX= 1;
240
 
static const uint32_t TL_OPTION_IGNORE_LEAVES= 2;
241
 
static const uint32_t TL_OPTION_ALIAS= 3;
242
 
static const uint32_t NUM_OF_TABLE_OPTIONS= 4;
 
235
#define TL_OPTION_UPDATING      1
 
236
#define TL_OPTION_FORCE_INDEX   2
 
237
#define TL_OPTION_IGNORE_LEAVES 4
 
238
#define TL_OPTION_ALIAS         8
243
239
 
244
240
/* Some portable defines */
245
241
 
409
405
#define MY_COLL_ALLOW_CONV            3
410
406
#define MY_COLL_DISALLOW_NONE         4
411
407
#define MY_COLL_CMP_CONV              7
412
 
 
413
 
inline static void clear_timestamp_auto_bits(enum timestamp_auto_set_type &_target_, 
414
 
                                             const enum timestamp_auto_set_type _bits_)
415
 
{
416
 
  _target_= (enum timestamp_auto_set_type)((int)(_target_) & ~_bits_);
417
 
}
 
408
#define clear_timestamp_auto_bits(_target_, _bits_) \
 
409
  (_target_)= (enum timestamp_auto_set_type)((int)(_target_) & ~(int)(_bits_))
418
410
 
419
411
/*
420
412
 * The following are for the interface with the .frm file
423
415
#define FIELDFLAG_PACK_SHIFT    3
424
416
#define FIELDFLAG_MAX_DEC    31
425
417
 
426
 
#ifdef __cplusplus
427
 
// FIXME: T will just be drizzled::Field::utype, but that would
428
 
// require including field.h. Moving the function elsewhere might be a
429
 
// better idea. Leaving it for restructuring.
430
 
template <typename T> 
431
 
T MTYP_TYPENR(const T& type)
432
 
{
433
 
  return static_cast<T>(type & 127);
434
 
}
435
 
#else
436
418
#define MTYP_TYPENR(type) (type & 127)  /* Remove bits from type */
437
 
#endif
438
 
 
439
 
inline static uint32_t f_settype(const enum enum_field_types x)
440
 
{
441
 
  return (uint32_t(x) << FIELDFLAG_PACK_SHIFT);
442
 
}
 
419
 
 
420
#define f_settype(x)    (((int) x) << FIELDFLAG_PACK_SHIFT)
 
421
 
443
422
 
444
423
#ifdef __cplusplus
445
424
template <class T> void set_if_bigger(T &a, const T &b)
501
480
static const uint32_t ONCE_ALLOC_INIT= 4096;
502
481
/* Typical record cash */
503
482
static const uint32_t RECORD_CACHE_SIZE= 64*1024;
 
483
/* Typical key cash */
 
484
static const uint32_t KEY_CACHE_SIZE= 8*1024*1024;
 
485
 
 
486
/* Default size of a key cache block  */
 
487
static const uint32_t KEY_CACHE_BLOCK_SIZE= 1024;
504
488
 
505
489
 
506
490
/* Some things that this system doesn't have */
639
623
# define _DTRACE_VERSION 0
640
624
#endif
641
625
 
642
 
typedef uint64_t table_map;   /* Used for table bits in join */
643
 
typedef uint32_t nesting_map; /* Used for flags of nesting constructs */
644
 
 
645
626
} /* namespace drizzled */
646
627
 
647
628
#endif /* DRIZZLED_DEFINITIONS_H */