diff options
Diffstat (limited to 'myisam')
-rw-r--r-- | myisam/mi_extra.c | 1 | ||||
-rw-r--r-- | myisam/mi_rkey.c | 14 | ||||
-rw-r--r-- | myisam/myisamdef.h | 3 |
3 files changed, 5 insertions, 13 deletions
diff --git a/myisam/mi_extra.c b/myisam/mi_extra.c index fe95c60931c..cf075512ac4 100644 --- a/myisam/mi_extra.c +++ b/myisam/mi_extra.c @@ -319,6 +319,7 @@ int mi_extra(MI_INFO *info, enum ha_extra_function function) { my_free(info->rec_alloc,MYF(MY_ALLOW_ZERO_PTR)); info->rec_alloc=info->rec_buff=0; + mi_fix_rec_buff_for_blob(info,info->s->base.pack_reclength); } break; case HA_EXTRA_NORMAL: /* Theese isn't in use */ diff --git a/myisam/mi_rkey.c b/myisam/mi_rkey.c index d201694ab05..84612779f5d 100644 --- a/myisam/mi_rkey.c +++ b/myisam/mi_rkey.c @@ -22,8 +22,8 @@ /* Read a record using key */ /* Ordinary search_flag is 0 ; Give error if no record with key */ -int _mi_rkey(MI_INFO *info, byte *buf, int inx, const byte *key, uint key_len, - enum ha_rkey_function search_flag, bool raw_key) +int mi_rkey(MI_INFO *info, byte *buf, int inx, const byte *key, uint key_len, + enum ha_rkey_function search_flag) { uchar *key_buff; MYISAM_SHARE *share=info->s; @@ -37,7 +37,7 @@ int _mi_rkey(MI_INFO *info, byte *buf, int inx, const byte *key, uint key_len, info->update&= (HA_STATE_CHANGED | HA_STATE_ROW_CHANGED); - if (raw_key) + if (!info->use_packed_key) { if (key_len == 0) key_len=USE_WHOLE_KEY; @@ -101,11 +101,3 @@ int _mi_rkey(MI_INFO *info, byte *buf, int inx, const byte *key, uint key_len, err: DBUG_RETURN(my_errno); } /* _mi_rkey */ - -/* shouldn't forget to do it inline sometime */ -int mi_rkey(MI_INFO *info, byte *buf, int inx, const byte *key, uint key_len, - enum ha_rkey_function search_flag) -{ - return _mi_rkey(info,buf,inx,key,key_len,search_flag,TRUE); -} - diff --git a/myisam/myisamdef.h b/myisam/myisamdef.h index dde2651c0c9..33fd1b6946f 100644 --- a/myisam/myisamdef.h +++ b/myisam/myisamdef.h @@ -258,6 +258,7 @@ struct st_myisam_info { my_bool quick_mode; my_bool page_changed; /* If info->buff can't be used for rnext */ my_bool buff_used; /* If info->buff has to be reread for rnext */ + my_bool use_packed_key; /* For MYISAMMRG */ myf lock_wait; /* is 0 or MY_DONT_WAIT */ int (*read_record)(struct st_myisam_info*, my_off_t, byte*); LIST open_list; @@ -630,8 +631,6 @@ void mi_update_status(void* param); void mi_copy_status(void* to,void *from); my_bool mi_check_status(void* param); void mi_disable_non_unique_index(MI_INFO *info, ha_rows rows); -int _mi_rkey(MI_INFO *info, byte *buf, int inx, const byte *key, uint key_len, - enum ha_rkey_function search_flag, bool raw_key); my_bool check_table_is_closed(const char *name, const char *where); int mi_open_datafile(MI_INFO *info, MYISAM_SHARE *share); |