~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to storage/myisam/mi_delete.c

  • Committer: Brian Aker
  • Date: 2008-10-06 06:47:29 UTC
  • Revision ID: brian@tangent.org-20081006064729-2i9mhjkzyvow9xsm
RemoveĀ uint.

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
 
18
18
#include "myisamdef.h"
19
19
 
20
 
static int d_search(MI_INFO *info,MI_KEYDEF *keyinfo,uint comp_flag,
21
 
                    unsigned char *key,uint key_length,my_off_t page,unsigned char *anc_buff);
 
20
static int d_search(MI_INFO *info,MI_KEYDEF *keyinfo,uint32_t comp_flag,
 
21
                    unsigned char *key,uint32_t key_length,my_off_t page,unsigned char *anc_buff);
22
22
static int del(MI_INFO *info,MI_KEYDEF *keyinfo,unsigned char *key,unsigned char *anc_buff,
23
23
               my_off_t leaf_page,unsigned char *leaf_buff,unsigned char *keypos,
24
24
               my_off_t next_block,unsigned char *ret_key);
25
25
static int underflow(MI_INFO *info,MI_KEYDEF *keyinfo,unsigned char *anc_buff,
26
26
                     my_off_t leaf_page,unsigned char *leaf_buff,unsigned char *keypos);
27
 
static uint remove_key(MI_KEYDEF *keyinfo,uint nod_flag,unsigned char *keypos,
 
27
static uint32_t remove_key(MI_KEYDEF *keyinfo,uint32_t nod_flag,unsigned char *keypos,
28
28
                       unsigned char *lastkey,unsigned char *page_end,
29
29
                       my_off_t *next_block);
30
30
static int _mi_ck_real_delete(register MI_INFO *info,MI_KEYDEF *keyinfo,
31
 
                              unsigned char *key, uint key_length, my_off_t *root);
 
31
                              unsigned char *key, uint32_t key_length, my_off_t *root);
32
32
 
33
33
 
34
34
int mi_delete(MI_INFO *info,const unsigned char *record)
35
35
{
36
 
  uint i;
 
36
  uint32_t i;
37
37
  unsigned char *old_key;
38
38
  int save_errno;
39
39
  char lastpos[8];
116
116
 
117
117
        /* Remove a key from the btree index */
118
118
 
119
 
int _mi_ck_delete(register MI_INFO *info, uint keynr, unsigned char *key,
120
 
                  uint key_length)
 
119
int _mi_ck_delete(register MI_INFO *info, uint32_t keynr, unsigned char *key,
 
120
                  uint32_t key_length)
121
121
{
122
122
  return _mi_ck_real_delete(info, info->s->keyinfo+keynr, key, key_length,
123
123
                            &info->s->state.key_root[keynr]);
125
125
 
126
126
 
127
127
static int _mi_ck_real_delete(register MI_INFO *info, MI_KEYDEF *keyinfo,
128
 
                              unsigned char *key, uint key_length, my_off_t *root)
 
128
                              unsigned char *key, uint32_t key_length, my_off_t *root)
129
129
{
130
130
  int error;
131
 
  uint nod_flag;
 
131
  uint32_t nod_flag;
132
132
  my_off_t old_root;
133
133
  unsigned char *root_buff;
134
134
 
185
185
        */
186
186
 
187
187
static int d_search(register MI_INFO *info, register MI_KEYDEF *keyinfo,
188
 
                    uint comp_flag, unsigned char *key, uint key_length,
 
188
                    uint32_t comp_flag, unsigned char *key, uint32_t key_length,
189
189
                    my_off_t page, unsigned char *anc_buff)
190
190
{
191
191
  int flag,ret_value,save_flag;
192
 
  uint length,nod_flag,search_key_length;
 
192
  uint32_t length,nod_flag,search_key_length;
193
193
  bool last_key;
194
194
  unsigned char *leaf_buff,*keypos;
195
195
  my_off_t leaf_page= 0, next_block;
232
232
  }
233
233
  else
234
234
  {                                             /* Found key */
235
 
    uint tmp;
 
235
    uint32_t tmp;
236
236
    length=mi_getint(anc_buff);
237
237
    if (!(tmp= remove_key(keyinfo,nod_flag,keypos,lastkey,anc_buff+length,
238
238
                          &next_block)))
295
295
               unsigned char *ret_key)          /* key before keypos in anc_buff */
296
296
{
297
297
  int ret_value,length;
298
 
  uint a_length,nod_flag,tmp;
 
298
  uint32_t a_length,nod_flag,tmp;
299
299
  my_off_t next_page;
300
300
  unsigned char keybuff[MI_MAX_KEY_BUFF],*endpos,*next_buff,*key_start, *prev_key;
301
301
  MYISAM_SHARE *share=info->s;
392
392
                     unsigned char *keypos)     /* Position to pos after key */
393
393
{
394
394
  int t_length;
395
 
  uint length,anc_length,buff_length,leaf_length,p_length,s_length,nod_flag,
 
395
  uint32_t length,anc_length,buff_length,leaf_length,p_length,s_length,nod_flag,
396
396
       key_reflength,key_length;
397
397
  my_off_t next_page;
398
398
  unsigned char anc_key[MI_MAX_KEY_BUFF],leaf_key[MI_MAX_KEY_BUFF],
631
631
          returns how many chars was removed or 0 on error
632
632
        */
633
633
 
634
 
static uint remove_key(MI_KEYDEF *keyinfo, uint nod_flag,
 
634
static uint32_t remove_key(MI_KEYDEF *keyinfo, uint32_t nod_flag,
635
635
                       unsigned char *keypos,   /* Where key starts */
636
636
                       unsigned char *lastkey,  /* key to be removed */
637
637
                       unsigned char *page_end, /* End of page */
663
663
      if (keyinfo->flag & HA_BINARY_PACK_KEY)
664
664
      {
665
665
        unsigned char *old_key=start;
666
 
        uint next_length,prev_length,prev_pack_length;
 
666
        uint32_t next_length,prev_length,prev_pack_length;
667
667
        get_key_length(next_length,keypos);
668
668
        get_key_pack_length(prev_length,prev_pack_length,old_key);
669
669
        if (next_length > prev_length)
682
682
        if ((keyinfo->seg->flag & HA_PACK_KEY) && *keypos & 128)
683
683
        {
684
684
          /* Next key is packed against the current one */
685
 
          uint next_length,prev_length,prev_pack_length,lastkey_length,
 
685
          uint32_t next_length,prev_length,prev_pack_length,lastkey_length,
686
686
            rest_length;
687
687
          if (keyinfo->seg[0].length >= 127)
688
688
          {
715
715
 
716
716
          if (next_length >= prev_length)
717
717
          {             /* Key after is based on deleted key */
718
 
            uint pack_length,tmp;
 
718
            uint32_t pack_length,tmp;
719
719
            bmove_upp(keypos, (lastkey+next_length),
720
720
                      tmp=(next_length-prev_length));
721
721
            rest_length+=tmp;