summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorunknown <serg@serg.mysql.com>2002-06-30 14:17:29 +0000
committerunknown <serg@serg.mysql.com>2002-06-30 14:17:29 +0000
commit1158fd9f2e5934bdcf871791895bec58854c843c (patch)
treed21dcff9bca4b293a433b84b9356e37d0531494b /include
parentea01d6572a9d8187dcf70753d5bc420a9c2e139b (diff)
downloadmariadb-git-1158fd9f2e5934bdcf871791895bec58854c843c.tar.gz
"myisamchk -p" for parallel recover works (no extensive testing though)
include/my_sys.h: make [un]lock_io_cache functions, not macro some io_cache_share functions int->void include/myisam.h: mi_repair_by_sort_r -> mi_repair_parallel MI_SORT_PARAM.master field for updating info->s.state struct myisam/mi_check.c: mi_repair_by_sort_r -> mi_repair_parallel MI_SORT_PARAM.master field for updating info->s.state struct myisam/sort.c: my_thread_init()/my_thread_end() misc bugfixes mysys/mf_iocache.c: io_cache_share functions int->void comments added [un]lock_io_cache functions added
Diffstat (limited to 'include')
-rw-r--r--include/my_sys.h27
-rw-r--r--include/myisam.h4
2 files changed, 5 insertions, 26 deletions
diff --git a/include/my_sys.h b/include/my_sys.h
index 4ddd204c406..6085724c329 100644
--- a/include/my_sys.h
+++ b/include/my_sys.h
@@ -322,29 +322,6 @@ typedef struct st_io_cache_share
my_bool alloced;
#endif
} IO_CACHE_SHARE;
-
-#define lock_io_cache(info) \
- ( \
- (errno=pthread_mutex_lock(&((info)->share->mutex))) ? -1 : ( \
- (info)->share->count ? ( \
- --((info)->share->count), \
- pthread_cond_wait(&((info)->share->cond), \
- &((info)->share->mutex)), \
- (++((info)->share->count) ? \
- pthread_mutex_unlock(&((info)->share->mutex)) : 0)) \
- : 1 ) \
- )
-
-#define unlock_io_cache(info) \
- ( \
- pthread_cond_broadcast(&((info)->share->cond)), \
- pthread_mutex_unlock (&((info)->share->mutex)) \
- )
-/* -- to catch errors
-#else
-#define lock_io_cache(info)
-#define unlock_io_cache(info)
-*/
#endif
typedef struct st_io_cache /* Used when cacheing files */
@@ -686,9 +663,9 @@ extern my_bool reinit_io_cache(IO_CACHE *info,enum cache_type type,
extern int _my_b_read(IO_CACHE *info,byte *Buffer,uint Count);
#ifdef THREAD
extern int _my_b_read_r(IO_CACHE *info,byte *Buffer,uint Count);
-extern int init_io_cache_share(IO_CACHE *info,
+extern void init_io_cache_share(IO_CACHE *info,
IO_CACHE_SHARE *s, uint num_threads);
-extern int remove_io_thread(IO_CACHE *info);
+extern void remove_io_thread(IO_CACHE *info);
#endif
extern int _my_b_seq_read(IO_CACHE *info,byte *Buffer,uint Count);
extern int _my_b_net_read(IO_CACHE *info,byte *Buffer,uint Count);
diff --git a/include/myisam.h b/include/myisam.h
index 32e9225efdf..57d219ab358 100644
--- a/include/myisam.h
+++ b/include/myisam.h
@@ -382,7 +382,7 @@ typedef struct st_mi_sort_param
IO_CACHE tempfile, tempfile_for_exceptions;
DYNAMIC_ARRAY buffpek;
my_off_t pos,max_pos,filepos,start_recpos;
- my_bool fix_datafile;
+ my_bool fix_datafile, master;
char *record;
char *tmpdir;
int (*key_cmp)(struct st_mi_sort_param *, const void *, const void *);
@@ -403,6 +403,8 @@ int mi_repair(MI_CHECK *param, register MI_INFO *info,
int mi_sort_index(MI_CHECK *param, register MI_INFO *info, my_string name);
int mi_repair_by_sort(MI_CHECK *param, register MI_INFO *info,
const char * name, int rep_quick);
+int mi_repair_parallel(MI_CHECK *param, register MI_INFO *info,
+ const char * name, int rep_quick);
int change_to_newfile(const char * filename, const char * old_ext,
const char * new_ext, uint raid_chunks,
myf myflags);