~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to mysys/my_handler.h

  • Committer: Monty Taylor
  • Date: 2008-08-02 01:03:15 UTC
  • mto: (236.1.42 codestyle)
  • mto: This revision was merged to the branch mainline in revision 261.
  • Revision ID: monty@inaugust.com-20080802010315-65h5938pymg9d99z
Moved m4 macros to top-level m4 dir, per GNU standards (and where gettext wanted it :)

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
#ifndef _my_handler_h
19
19
#define _my_handler_h
20
20
 
21
 
#include <mystrings/m_ctype.h>
22
21
#include <storage/myisam/myisampack.h>
23
22
#ifdef  __cplusplus
24
23
extern "C" {
48
47
 
49
48
typedef struct st_HA_KEYSEG             /* Key-portion */
50
49
{
51
 
  const CHARSET_INFO *charset;
 
50
  CHARSET_INFO *charset;
52
51
  uint32_t start;                               /* Start of key in record */
53
52
  uint32_t null_pos;                    /* position to NULL indicator */
54
53
  uint16_t bit_pos;                       /* Position to bit part */
62
61
} HA_KEYSEG;
63
62
 
64
63
#define get_key_length(length,key) \
65
 
{ if (*(unsigned char*) (key) != 255) \
66
 
    length= (uint) *(unsigned char*) ((key)++); \
 
64
{ if (*(uchar*) (key) != 255) \
 
65
    length= (uint) *(uchar*) ((key)++); \
67
66
  else \
68
67
  { length= mi_uint2korr((key)+1); (key)+=3; } \
69
68
}
70
69
 
71
70
#define get_key_length_rdonly(length,key) \
72
 
{ if (*(unsigned char*) (key) != 255) \
73
 
    length= ((uint) *(unsigned char*) ((key))); \
 
71
{ if (*(uchar*) (key) != 255) \
 
72
    length= ((uint) *(uchar*) ((key))); \
74
73
  else \
75
74
  { length= mi_uint2korr((key)+1); } \
76
75
}
77
76
 
78
77
#define get_key_pack_length(length,length_pack,key) \
79
 
{ if (*(unsigned char*) (key) != 255) \
80
 
  { length= (uint) *(unsigned char*) ((key)++); length_pack= 1; }\
 
78
{ if (*(uchar*) (key) != 255) \
 
79
  { length= (uint) *(uchar*) ((key)++); length_pack= 1; }\
81
80
  else \
82
81
  { length=mi_uint2korr((key)+1); (key)+= 3; length_pack= 3; } \
83
82
}
107
106
#define clr_rec_bits(bit_ptr, bit_ofs, bit_len) \
108
107
  set_rec_bits(0, bit_ptr, bit_ofs, bit_len)
109
108
 
110
 
extern int ha_compare_text(const CHARSET_INFO * const, unsigned char *, uint, unsigned char *, uint, bool, bool);
 
109
extern int ha_compare_text(CHARSET_INFO *, uchar *, uint, uchar *, uint, bool, bool);
111
110
 
112
 
extern HA_KEYSEG *ha_find_null(HA_KEYSEG *keyseg, unsigned char *a);
113
 
void my_handler_error_register(void);
114
 
void my_handler_error_unregister(void);
115
 
extern int ha_key_cmp(HA_KEYSEG *keyseg, unsigned char *a,unsigned char *b,
116
 
                      uint32_t key_length,uint32_t nextflag,uint32_t *diff_length);
 
111
extern HA_KEYSEG *ha_find_null(HA_KEYSEG *keyseg, uchar *a);
 
112
extern void my_handler_error_register(void);
 
113
extern void my_handler_error_unregister(void);
 
114
extern int ha_key_cmp(HA_KEYSEG *keyseg, uchar *a,uchar *b,
 
115
                      uint key_length,uint nextflag,uint *diff_length);
117
116
 
118
117
/*
119
118
  Inside an in-memory data record, memory pointers to pieces of the