~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/definitions.h

  • Committer: Lee Bieber
  • Date: 2010-11-08 00:56:57 UTC
  • mfrom: (1911.1.4 build)
  • Revision ID: kalebral@gmail.com-20101108005657-tvx0sxjyx29ldrh7
Merge Stewart - Fix bug 616466: auto_increment and PBMS problem - adds test case for this, can no longer reproduce the problem
Merge Stewart - fix bug 621755: blitzdb dictionary not updated after alter table
Merge Stewart - fix bug 668880: remove use of exit in archive storage engine
Merge Gustaf - replace macros functions

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
 
33
35
namespace drizzled
34
36
{
35
37
 
407
409
#define MY_COLL_ALLOW_CONV            3
408
410
#define MY_COLL_DISALLOW_NONE         4
409
411
#define MY_COLL_CMP_CONV              7
410
 
#define clear_timestamp_auto_bits(_target_, _bits_) \
411
 
  (_target_)= (enum timestamp_auto_set_type)((int)(_target_) & ~(int)(_bits_))
 
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
}
412
418
 
413
419
/*
414
420
 * The following are for the interface with the .frm file
417
423
#define FIELDFLAG_PACK_SHIFT    3
418
424
#define FIELDFLAG_MAX_DEC    31
419
425
 
 
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
420
436
#define MTYP_TYPENR(type) (type & 127)  /* Remove bits from type */
421
 
 
422
 
#define f_settype(x)    (((int) x) << FIELDFLAG_PACK_SHIFT)
423
 
 
 
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
}
424
443
 
425
444
#ifdef __cplusplus
426
445
template <class T> void set_if_bigger(T &a, const T &b)