diff options
author | unknown <wax@mysql.com> | 2002-11-28 15:24:55 +0500 |
---|---|---|
committer | unknown <wax@mysql.com> | 2002-11-28 15:24:55 +0500 |
commit | 22b0bfa288838f23e7d6988dd3fcb79d25fa9685 (patch) | |
tree | e4c7725c7bea98f005ee28cc6ac4d0df2dcde6e2 /myisam/myisamdef.h | |
parent | 5a1b9e1d05ec4c52e89df1adf40312a55f8b7d3f (diff) | |
parent | 0c349665959e300485b7f64119cb20bdce5cd189 (diff) | |
download | mariadb-git-22b0bfa288838f23e7d6988dd3fcb79d25fa9685.tar.gz |
Merge mysql.com:/home/wax/mysql-4n into mysql.com:/home/wax/mysql-4mi
BitKeeper/etc/logging_ok:
auto-union
include/myisam.h:
Auto merged
myisam/myisamdef.h:
Auto merged
myisam/sort.c:
Auto merged
Diffstat (limited to 'myisam/myisamdef.h')
-rw-r--r-- | myisam/myisamdef.h | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/myisam/myisamdef.h b/myisam/myisamdef.h index c63f4a28562..90aaff46919 100644 --- a/myisam/myisamdef.h +++ b/myisam/myisamdef.h @@ -275,7 +275,41 @@ struct st_myisam_info { int rtree_recursion_depth; }; - +typedef struct st_buffpek { + my_off_t file_pos; /* Where we are in the sort file */ + uchar *base,*key; /* Key pointers */ + ha_rows count; /* Number of rows in table */ + ulong mem_count; /* numbers of keys in memory */ + ulong max_keys; /* Max keys in buffert */ +} BUFFPEK; + +typedef struct st_mi_sort_param +{ + pthread_t thr; + IO_CACHE read_cache, tempfile, tempfile_for_exceptions; + DYNAMIC_ARRAY buffpek; + ulonglong unique[MI_MAX_KEY_SEG+1]; + my_off_t pos,max_pos,filepos,start_recpos; + uint key, key_length,real_key_length,sortbuff_size; + uint maxbuffers, keys, find_length, sort_keys_length; + my_bool fix_datafile, master; + MI_KEYDEF *keyinfo; + SORT_INFO *sort_info; + uchar **sort_keys; + byte *rec_buff; + void *wordlist, *wordptr; + char *record; + MY_TMPDIR *tmpdir; + int (*key_cmp)(struct st_mi_sort_param *, const void *, const void *); + int (*key_read)(struct st_mi_sort_param *,void *); + int (*key_write)(struct st_mi_sort_param *, const void *); + void (*lock_in_memory)(MI_CHECK *); + NEAR int (*write_keys)(struct st_mi_sort_param *, register uchar **, + uint , struct st_buffpek *, IO_CACHE *); + NEAR uint (*read_to_buffer)(IO_CACHE *,struct st_buffpek *, uint); + NEAR int (*write_key)(struct st_mi_sort_param *, IO_CACHE *,char *, + uint, uint); +} MI_SORT_PARAM; /* Some defines used by isam-funktions */ #define USE_WHOLE_KEY MI_MAX_KEY_BUFF*2 /* Use whole key in _mi_search() */ @@ -662,6 +696,9 @@ int thr_write_keys(MI_SORT_PARAM *sort_param); pthread_handler_decl(thr_find_all_keys,arg); #endif +int sort_write_record(MI_SORT_PARAM *sort_param); +int _create_index_by_sort(MI_SORT_PARAM *info,my_bool no_messages, ulong); + #ifdef __cplusplus } #endif |