diff options
Diffstat (limited to 'isam')
-rw-r--r-- | isam/extra.c | 1 | ||||
-rw-r--r-- | isam/isamchk.c | 8 | ||||
-rw-r--r-- | isam/isamlog.c | 10 | ||||
-rw-r--r-- | isam/pack_isam.c | 2 |
4 files changed, 9 insertions, 12 deletions
diff --git a/isam/extra.c b/isam/extra.c index 1d333fa372f..d5769101b8f 100644 --- a/isam/extra.c +++ b/isam/extra.c @@ -204,6 +204,7 @@ int nisam_extra(N_INFO *info, enum ha_extra_function function) info->s->changed=1; /* Update on close */ break; case HA_EXTRA_FORCE_REOPEN: + case HA_EXTRA_PREPARE_FOR_DELETE: pthread_mutex_lock(&THR_LOCK_isam); info->s->last_version= 0L; /* Impossible version */ #ifdef __WIN__ diff --git a/isam/isamchk.c b/isam/isamchk.c index 3aa1cf4e3c2..c89cc36c9a0 100644 --- a/isam/isamchk.c +++ b/isam/isamchk.c @@ -62,7 +62,7 @@ SET_STACK_SIZE(9000) /* Minimum stack size for program */ #define MIN_SORT_BUFFER (4096-MALLOC_OVERHEAD) #endif -#define NEAD_MEM ((uint) 10*4*(IO_SIZE+32)+32) /* Nead for recursion */ +#define NEED_MEM ((uint) 10*4*(IO_SIZE+32)+32) /* Nead for recursion */ #define MAXERR 20 #define BUFFERS_WHEN_SORTING 16 /* Alloc for sort-key-tree */ #define WRITE_COUNT MY_HOW_OFTEN_TO_WRITE @@ -512,7 +512,7 @@ static int nisamchk(my_string filename) if (!rep_quick) { if (testflag & T_EXTEND) - VOID(init_key_cache(use_buffers,(uint) NEAD_MEM)); + VOID(init_key_cache(use_buffers,(uint) NEED_MEM)); VOID(init_io_cache(&read_cache,datafile,(uint) read_buffer_length, READ_CACHE,share->pack.header_length,1, MYF(MY_WME))); @@ -1473,7 +1473,7 @@ my_string name; printf("Data records: %lu\n",(ulong) share->state.records); } - VOID(init_key_cache(use_buffers,NEAD_MEM)); + VOID(init_key_cache(use_buffers,NEED_MEM)); if (init_io_cache(&read_cache,info->dfile,(uint) read_buffer_length, READ_CACHE,share->pack.header_length,1,MYF(MY_WME))) goto err; @@ -1950,7 +1950,7 @@ int write_info; if (share->state.key_root[sort_key] == NI_POS_ERROR) DBUG_RETURN(0); /* Nothing to do */ - init_key_cache(use_buffers,NEAD_MEM); + init_key_cache(use_buffers,NEED_MEM); if (init_io_cache(&info->rec_cache,-1,(uint) write_buffer_length, WRITE_CACHE,share->pack.header_length,1, MYF(MY_WME | MY_WAIT_IF_FULL))) diff --git a/isam/isamlog.c b/isam/isamlog.c index 5763b697d07..6d2bde42bf7 100644 --- a/isam/isamlog.c +++ b/isam/isamlog.c @@ -327,8 +327,8 @@ static int examine_log(my_string file_name, char **table_names) init_io_cache(&cache,file,0,READ_CACHE,start_offset,0,MYF(0)); bzero((gptr) com_count,sizeof(com_count)); - init_tree(&tree,0,sizeof(file_info),(qsort_cmp) file_info_compare,1, - (void(*)(void*)) file_info_free); + init_tree(&tree,0,0,sizeof(file_info),(qsort_cmp2) file_info_compare,1, + (tree_element_free) file_info_free, NULL); VOID(init_key_cache(KEY_CACHE_SIZE,(uint) (10*4*(IO_SIZE+MALLOC_OVERHEAD)))); files_open=0; access_time=0; @@ -400,11 +400,7 @@ static int examine_log(my_string file_name, char **table_names) } to=isam_file_name; if (filepath) - { - strmov(isam_file_name,filepath); - convert_dirname(isam_file_name); - to=strend(isam_file_name); - } + to=convert_dirname(isam_file_name, filepath, NullS); strmov(to,pos); fn_ext(isam_file_name)[0]=0; /* Remove extension */ } diff --git a/isam/pack_isam.c b/isam/pack_isam.c index 3d8512847ae..55f6fbf077b 100644 --- a/isam/pack_isam.c +++ b/isam/pack_isam.c @@ -684,7 +684,7 @@ static HUFF_COUNTS *init_huff_count(N_INFO *info,my_off_t records) (type == FIELD_NORMAL || type == FIELD_SKIPP_ZERO)) count[i].max_zero_fill= count[i].field_length; - init_tree(&count[i].int_tree,0,-1,(qsort_cmp) compare_tree,0,NULL); + init_tree(&count[i].int_tree,0,0,-1,(qsort_cmp2) compare_tree,0,NULL,NULL); if (records) count[i].tree_pos=count[i].tree_buff = my_malloc(count[i].field_length > 1 ? tree_buff_length : 2, |