~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/definitions.h

  • Committer: Brian Aker
  • Date: 2010-05-26 21:49:18 UTC
  • mto: This revision was merged to the branch mainline in revision 1568.
  • Revision ID: brian@gaz-20100526214918-8kdibq48e9lnyr6t
This fixes bug 586009, increases the size of the log files so that the UNION
test doesn't hit Innodb's default limit. Increases the size of the initial
Innodb data file, and fixes one case where an empty string on error was
causing a crash on OSX.

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
 
46
44
 
47
45
#define ER(X) ::drizzled::error_message((X))
48
46
 
49
 
/* buffer size for strerror_r() */
50
 
#define STRERROR_MAX 256
51
 
 
52
47
/* extra 4+4 bytes for slave tmp tables */
53
48
#define MAX_DBKEY_LENGTH (NAME_LEN*2+1+1+4+4)
54
49
#define MAX_ALIAS_NAME 256
199
194
#define FLUSH_TIME              0               /**< Don't flush tables */
200
195
#define MAX_CONNECT_ERRORS      10              ///< errors before disabling host
201
196
 
 
197
#define INTERRUPT_PRIOR 10
 
198
#define CONNECT_PRIOR   9
 
199
#define WAIT_PRIOR      8
 
200
#define QUERY_PRIOR     6
 
201
 
202
202
/* Bits from testflag */
203
203
enum test_flag_bit
204
204
{
221
221
#define MY_CHARSET_BIN_MB_MAXLEN 1
222
222
 
223
223
// 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;
 
224
#define UNCACHEABLE_DEPENDENT   1
 
225
#define UNCACHEABLE_RAND        2
 
226
#define UNCACHEABLE_SIDEEFFECT  4
227
227
/// forcing to save JOIN for explain
228
 
static const uint32_t UNCACHEABLE_EXPLAIN= 4;
 
228
#define UNCACHEABLE_EXPLAIN     8
229
229
/** Don't evaluate subqueries in prepare even if they're not correlated */
230
 
static const uint32_t UNCACHEABLE_PREPARE= 5;
 
230
#define UNCACHEABLE_PREPARE    16
231
231
/* For uncorrelated SELECT in an UNION with some correlated SELECTs */
232
 
static const uint32_t UNCACHEABLE_UNITED= 6;
 
232
#define UNCACHEABLE_UNITED     32
233
233
 
234
234
/* Used to check GROUP BY list in the MODE_ONLY_FULL_GROUP_BY mode */
235
235
#define UNDEF_POS (-1)
236
236
 
237
237
/* 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;
 
238
#define TL_OPTION_UPDATING      1
 
239
#define TL_OPTION_FORCE_INDEX   2
 
240
#define TL_OPTION_IGNORE_LEAVES 4
 
241
#define TL_OPTION_ALIAS         8
243
242
 
244
243
/* Some portable defines */
245
244
 
409
408
#define MY_COLL_ALLOW_CONV            3
410
409
#define MY_COLL_DISALLOW_NONE         4
411
410
#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
 
}
 
411
#define clear_timestamp_auto_bits(_target_, _bits_) \
 
412
  (_target_)= (enum timestamp_auto_set_type)((int)(_target_) & ~(int)(_bits_))
418
413
 
419
414
/*
420
415
 * The following are for the interface with the .frm file
423
418
#define FIELDFLAG_PACK_SHIFT    3
424
419
#define FIELDFLAG_MAX_DEC    31
425
420
 
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
421
#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
 
}
 
422
 
 
423
#define f_settype(x)    (((int) x) << FIELDFLAG_PACK_SHIFT)
 
424
 
443
425
 
444
426
#ifdef __cplusplus
445
427
template <class T> void set_if_bigger(T &a, const T &b)
501
483
static const uint32_t ONCE_ALLOC_INIT= 4096;
502
484
/* Typical record cash */
503
485
static const uint32_t RECORD_CACHE_SIZE= 64*1024;
 
486
/* Typical key cash */
 
487
static const uint32_t KEY_CACHE_SIZE= 8*1024*1024;
 
488
 
 
489
/* Default size of a key cache block  */
 
490
static const uint32_t KEY_CACHE_BLOCK_SIZE= 1024;
504
491
 
505
492
 
506
493
/* Some things that this system doesn't have */
639
626
# define _DTRACE_VERSION 0
640
627
#endif
641
628
 
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
629
} /* namespace drizzled */
646
630
 
647
631
#endif /* DRIZZLED_DEFINITIONS_H */