47
42
#define ER(X) ::drizzled::error_message((X))
49
/* buffer size for strerror_r() */
50
#define STRERROR_MAX 256
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
191
183
/** Characters shown for the command in 'show processlist'. */
192
184
#define PROCESS_LIST_WIDTH 100
185
/* Characters shown for the command in 'information_schema.processlist' */
186
#define PROCESS_LIST_INFO_WIDTH 65535
194
188
#define PRECISION_FOR_DOUBLE 53
195
189
#define PRECISION_FOR_FLOAT 24
221
220
#define MY_CHARSET_BIN_MB_MAXLEN 1
223
222
// 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;
223
#define UNCACHEABLE_DEPENDENT 1
224
#define UNCACHEABLE_RAND 2
225
#define UNCACHEABLE_SIDEEFFECT 4
227
226
/// forcing to save JOIN for explain
228
static const uint32_t UNCACHEABLE_EXPLAIN= 4;
227
#define UNCACHEABLE_EXPLAIN 8
229
228
/** Don't evaluate subqueries in prepare even if they're not correlated */
230
static const uint32_t UNCACHEABLE_PREPARE= 5;
229
#define UNCACHEABLE_PREPARE 16
231
230
/* For uncorrelated SELECT in an UNION with some correlated SELECTs */
232
static const uint32_t UNCACHEABLE_UNITED= 6;
231
#define UNCACHEABLE_UNITED 32
234
233
/* Used to check GROUP BY list in the MODE_ONLY_FULL_GROUP_BY mode */
235
234
#define UNDEF_POS (-1)
237
236
/* 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;
237
#define TL_OPTION_UPDATING 1
238
#define TL_OPTION_FORCE_INDEX 2
239
#define TL_OPTION_IGNORE_LEAVES 4
240
#define TL_OPTION_ALIAS 8
244
242
/* Some portable defines */
346
344
#define HA_CREATE_USED_CHARSET (1L << 8)
347
345
#define HA_CREATE_USED_DEFAULT_CHARSET (1L << 9)
348
346
#define HA_CREATE_USED_ROW_FORMAT (1L << 15)
347
#define HA_CREATE_USED_KEY_BLOCK_SIZE (1L << 19)
348
#define HA_CREATE_USED_BLOCK_SIZE (1L << 22)
351
351
The below two are not used (and not handled) in this milestone of this WL
409
409
#define MY_COLL_ALLOW_CONV 3
410
410
#define MY_COLL_DISALLOW_NONE 4
411
411
#define MY_COLL_CMP_CONV 7
413
inline static void clear_timestamp_auto_bits(enum timestamp_auto_set_type &_target_,
414
const enum timestamp_auto_set_type _bits_)
416
_target_= (enum timestamp_auto_set_type)((int)(_target_) & ~_bits_);
412
#define clear_timestamp_auto_bits(_target_, _bits_) \
413
(_target_)= (enum timestamp_auto_set_type)((int)(_target_) & ~(int)(_bits_))
420
416
* The following are for the interface with the .frm file
423
419
#define FIELDFLAG_PACK_SHIFT 3
424
420
#define FIELDFLAG_MAX_DEC 31
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)
433
return static_cast<T>(type & 127);
436
422
#define MTYP_TYPENR(type) (type & 127) /* Remove bits from type */
439
inline static uint32_t f_settype(const enum enum_field_types x)
441
return (uint32_t(x) << FIELDFLAG_PACK_SHIFT);
424
#define f_settype(x) (((int) x) << FIELDFLAG_PACK_SHIFT)
444
427
#ifdef __cplusplus
445
428
template <class T> void set_if_bigger(T &a, const T &b)
501
484
static const uint32_t ONCE_ALLOC_INIT= 4096;
502
485
/* Typical record cash */
503
486
static const uint32_t RECORD_CACHE_SIZE= 64*1024;
487
/* Typical key cash */
488
static const uint32_t KEY_CACHE_SIZE= 8*1024*1024;
490
/* Default size of a key cache block */
491
static const uint32_t KEY_CACHE_BLOCK_SIZE= 1024;
506
494
/* Some things that this system doesn't have */
639
627
# define _DTRACE_VERSION 0
642
typedef uint64_t table_map; /* Used for table bits in join */
643
typedef uint32_t nesting_map; /* Used for flags of nesting constructs */
645
630
} /* namespace drizzled */
647
632
#endif /* DRIZZLED_DEFINITIONS_H */