summaryrefslogtreecommitdiff
path: root/myisam/myisamdef.h
diff options
context:
space:
mode:
authorunknown <wax@mysql.com>2002-11-28 15:24:55 +0500
committerunknown <wax@mysql.com>2002-11-28 15:24:55 +0500
commit22b0bfa288838f23e7d6988dd3fcb79d25fa9685 (patch)
treee4c7725c7bea98f005ee28cc6ac4d0df2dcde6e2 /myisam/myisamdef.h
parent5a1b9e1d05ec4c52e89df1adf40312a55f8b7d3f (diff)
parent0c349665959e300485b7f64119cb20bdce5cd189 (diff)
downloadmariadb-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.h39
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