diff options
author | unknown <monty@hundin.mysql.fi> | 2001-08-22 01:45:07 +0300 |
---|---|---|
committer | unknown <monty@hundin.mysql.fi> | 2001-08-22 01:45:07 +0300 |
commit | 31b9e6e03f8fe4be1816c3f33aaefb9a931dcef3 (patch) | |
tree | 32f2629127dea884d1930817179e72d2076be756 /myisam | |
parent | d61418b94fc2f377c11775039bfe5a7106541b3a (diff) | |
download | mariadb-git-31b9e6e03f8fe4be1816c3f33aaefb9a931dcef3.tar.gz |
Fixes for OS2.
Fix bug in isamlog
Add argument types to function declarations.
Docs/manual.texi:
Updated credits
client/mysql.cc:
Fixes for OS2
client/mysqladmin.c:
Fixes for OS2
client/mysqldump.c:
Fixes for OS2
client/mysqlimport.c:
Fixes for OS2
client/mysqltest.c:
Fixes for OS2
dbug/dbug.c:
Fixes for OS2.
Use new C calling convention.
dbug/factorial.c:
Fixes for OS2.
Use new C calling convention.
include/errmsg.h:
Fix for OS2
include/global.h:
Fixes for OS2.
include/my_pthread.h:
Fixes for OS2.
include/my_sys.h:
Fixes for OS2.
include/mysql_com.h:
Move defines to global.h
include/thr_alarm.h:
Fixes for OS2.
isam/isamchk.c:
Fixes for OS2.
Add arguments to function declarations.
isam/isamlog.c:
Fixes for OS2.
Fix bug in logfile handling.
isam/test1.c:
Add arguments to function decl
isam/test2.c:
Add arguments to function declarations.
isam/test_all.res:
Update result
libmysql/get_password.c:
Fixes for OS2.
libmysql/libmysql.c:
Fixes for OS2.
libmysql/net.c:
Fixes for OS2.
libmysql/violite.c:
Add arguments to function declarations.
merge/_locking.c:
Add argument types to function declarations.
merge/close.c:
Add argument types to function declarations.
merge/create.c:
Add argument types to function declarations.
merge/extra.c:
Add argument types to function declarations.
merge/open.c:
Add argument types to function declarations.
merge/panic.c:
Add argument types to function declarations.
merge/rsame.c:
Add argument types to function declarations.
merge/update.c:
Add argument types to function declarations.
myisam/ft_eval.c:
Portability fix
myisam/ft_search.c:
Portability fix
myisam/ft_test1.c:
Portability fix
myisam/ftdefs.h:
Portability fix
myisam/mi_check.c:
Portability fix
myisam/mi_test1.c:
Portability fix
myisam/mi_test2.c:
Portability fix
myisam/mi_test_all.sh:
Update to test for MACH variable
myisam/myisamlog.c:
Cleanup
myisam/myisampack.c:
Don't use variable 'new'
myisam/sort.c:
Portability fix
myisammrg/myrg_delete.c:
Add argument types to function declarations.
myisammrg/myrg_locking.c:
Add argument types to function declarations.
myisammrg/myrg_open.c:
Add argument types to function declarations.
myisammrg/myrg_panic.c:
Add argument types to function declarations.
mysql-test/t/backup.test:
Fix for OS2
mysql-test/t/show_check.test:
Fix for OS2
mysys/charset.c:
Dont use variable 'new'
mysys/default.c:
Fixes for OS2.
mysys/getopt.c:
Fixes for OS2.
mysys/getopt1.c:
Fixes for OS2.
mysys/list.c:
Don't use variable 'new'
mysys/mf_dirname.c:
Fixes for OS2.
mysys/mf_format.c:
Fixes for OS2.
mysys/mf_path.c:
Fixes for OS2.
mysys/mf_qsort.c:
Portability fix
mysys/mf_tempfile.c:
Fixes for OS2.
mysys/my_clock.c:
Fixes for OS2.
mysys/my_copy.c:
Fixes for OS2.
mysys/my_create.c:
Fixes for OS2.
mysys/my_getwd.c:
Fixes for OS2.
mysys/my_init.c:
Fixes for OS2.
mysys/my_lib.c:
Fixes for OS2.
mysys/my_lock.c:
Fixes for OS2.
mysys/my_malloc.c:
Portability fix
mysys/my_mkdir.c:
Fixes for OS2.
mysys/my_open.c:
Fixes for OS2.
mysys/my_pthread.c:
Fixes for OS2.
mysys/my_realloc.c:
Fixes for OS2.
mysys/my_redel.c:
Fixes for OS2.
mysys/my_static.c:
Fixes for OS2.
mysys/my_tempnam.c:
Fixes for OS2.
mysys/my_thr_init.c:
Fixes for OS2.
mysys/my_write.c:
Fixes for OS2.
mysys/test_charset.c:
Fixes for OS2.
mysys/thr_alarm.c:
Fixes for OS2.
mysys/tree.c:
Fixes for OS2.
sql/field.cc:
Fixes for OS2.
sql/field.h:
Fixes for OS2.
sql/gen_lex_hash.cc:
Fixes for OS2.
sql/hostname.cc:
Fixes for OS2.
sql/item_func.cc:
Fixes for OS2.
sql/item_strfunc.cc:
Fixes for OS2.
sql/log_event.cc:
Fixes for OS2.
sql/md5.c:
Fixes for OS2.
sql/mini_client.cc:
Fixes for OS2.
sql/mysql_priv.h:
Fixes for OS2.
sql/mysqld.cc:
Fixes for OS2.
sql/net_serv.cc:
Fixes for OS2.
sql/slave.cc:
Fixes for OS2.
sql/sql_base.cc:
Fixes for OS2.
sql/sql_db.cc:
Portability fix
sql/sql_insert.cc:
Fixes for OS2.
sql/sql_load.cc:
Fixes for OS2.
sql/sql_parse.cc:
Fixes for OS2.
sql/sql_table.cc:
Fixes for OS2.
sql/sql_udf.cc:
Fixes for OS2.
sql/violite.c:
Fixes for OS2.
strings/ctype-big5.c:
Fixes for OS2.
strings/ctype-gbk.c:
Fixes for OS2.
strings/ctype-sjis.c:
Fixes for OS2.
strings/ctype-tis620.c:
Fixes for OS2.
strings/ctype.c:
Fixes for OS2.
strings/strnlen.c:
Fixes for OS2.
Diffstat (limited to 'myisam')
-rw-r--r-- | myisam/ft_eval.c | 4 | ||||
-rw-r--r-- | myisam/ft_search.c | 2 | ||||
-rw-r--r-- | myisam/ft_test1.c | 4 | ||||
-rw-r--r-- | myisam/ftdefs.h | 2 | ||||
-rw-r--r-- | myisam/mi_check.c | 4 | ||||
-rw-r--r-- | myisam/mi_test1.c | 3 | ||||
-rw-r--r-- | myisam/mi_test2.c | 46 | ||||
-rwxr-xr-x | myisam/mi_test_all.sh | 7 | ||||
-rw-r--r-- | myisam/myisamlog.c | 10 | ||||
-rw-r--r-- | myisam/myisampack.c | 68 | ||||
-rw-r--r-- | myisam/sort.c | 13 |
11 files changed, 85 insertions, 78 deletions
diff --git a/myisam/ft_eval.c b/myisam/ft_eval.c index a8e4d8e8881..845b56a7fed 100644 --- a/myisam/ft_eval.c +++ b/myisam/ft_eval.c @@ -19,6 +19,8 @@ #include <getopt.h> static void print_error(int exit_code, const char *fmt,...); +static void get_options(int argc, char *argv[]); +static int create_record(char *pos, FILE *file); int main(int argc,char *argv[]) { @@ -123,7 +125,7 @@ void get_options(int argc,char *argv[]) { FILE *f; char s[HA_FT_MAXLEN]; int i=0,n=SWL_INIT; - if(!(stopwordlist=malloc(n*sizeof(char *)))) + if(!(stopwordlist=(const char**) malloc(n*sizeof(char *)))) print_error(1,"malloc(%d)",n*sizeof(char *)); if(!(f=fopen(optarg,"r"))) print_error(1,"fopen(%s)",optarg); diff --git a/myisam/ft_search.c b/myisam/ft_search.c index 4ca1551e809..9a728a4c211 100644 --- a/myisam/ft_search.c +++ b/myisam/ft_search.c @@ -211,7 +211,7 @@ err: int ft_read_next(FT_DOCLIST *handler, char *record) { - MI_INFO *info=handler->info; + MI_INFO *info= (MI_INFO *) handler->info; if (++handler->curdoc >= handler->ndocs) { diff --git a/myisam/ft_test1.c b/myisam/ft_test1.c index dfe8e30383b..e986f686302 100644 --- a/myisam/ft_test1.c +++ b/myisam/ft_test1.c @@ -32,6 +32,8 @@ static char record[MAX_REC_LENGTH],read_record[MAX_REC_LENGTH]; void get_options(int argc,char *argv[]); static int run_test(const char *filename); +static void get_options(int argc, char *argv[]); +static void create_record(char *, int); int main(int argc,char *argv[]) { @@ -46,8 +48,6 @@ static MI_COLUMNDEF recinfo[3]; static MI_KEYDEF keyinfo[2]; static MI_KEYSEG keyseg[10]; -void create_record(char *, int); - static int run_test(const char *filename) { MI_INFO *file; diff --git a/myisam/ftdefs.h b/myisam/ftdefs.h index ebf99e84d5a..d9b4ff6b44d 100644 --- a/myisam/ftdefs.h +++ b/myisam/ftdefs.h @@ -45,7 +45,7 @@ #define LWS_TF (count) #define LWS_BINARY (count>0) #define LWS_SQUARE (count*count) -#define LWS_LOG (count?(log(count)+1):0) +#define LWS_LOG (count?(log( (double) count)+1):0) /*--------------------------------------------------------------*/ #define PRENORM_NONE (p->weight) #define PRENORM_MAX (p->weight/docstat.max) diff --git a/myisam/mi_check.c b/myisam/mi_check.c index 64bc5d7b8e5..fd327b96e6d 100644 --- a/myisam/mi_check.c +++ b/myisam/mi_check.c @@ -458,7 +458,7 @@ int chk_key(MI_CHECK *param, register MI_INFO *info) /* Check that there isn't a row with auto_increment = 0 in the table */ mi_extra(info,HA_EXTRA_KEYREAD); bzero(info->lastkey,keyinfo->seg->length); - if (!mi_rkey(info, info->rec_buff, key, info->lastkey, + if (!mi_rkey(info, info->rec_buff, key, (const byte*) info->lastkey, keyinfo->seg->length, HA_READ_KEY_EXACT)) { /* Don't count this as a real warning, as myisamchk can't correct it */ @@ -2075,7 +2075,7 @@ static int sort_key_read(SORT_INFO *sort_info, void *key) "Found too many records; Can`t continue"); DBUG_RETURN(1); } - (void) _mi_make_key(info,sort_info->key,key,sort_info->record, + (void) _mi_make_key(info,sort_info->key,(uchar*)key,sort_info->record, sort_info->filepos); DBUG_RETURN(sort_write_record(sort_info)); } /* sort_key_read */ diff --git a/myisam/mi_test1.c b/myisam/mi_test1.c index 59b9ceb266e..ae09bd4142e 100644 --- a/myisam/mi_test1.c +++ b/myisam/mi_test1.c @@ -18,8 +18,7 @@ #include "myisam.h" #include <getopt.h> -#include <m_ctype.h> - +#include <m_string.h> #define MAX_REC_LENGTH 1024 diff --git a/myisam/mi_test2.c b/myisam/mi_test2.c index 746042554c8..b66b02afdf9 100644 --- a/myisam/mi_test2.c +++ b/myisam/mi_test2.c @@ -59,11 +59,11 @@ static MI_KEYSEG glob_keyseg[MYISAM_KEYS][MAX_PARTS]; /* Test program */ -int main(int argc, char **argv) +int main(int argc, char *argv[]) { uint i; int j,n1,n2,n3,error,k; - uint write_count,update,dupp_keys,delete,start,length,blob_pos, + uint write_count,update,dupp_keys,opt_delete,start,length,blob_pos, reclength,ant,found_parts; my_off_t lastpos; ha_rows range_records,records; @@ -180,7 +180,7 @@ int main(int argc, char **argv) recinfo[6].null_pos=0; } - write_count=update=dupp_keys=delete=0; + write_count=update=dupp_keys=opt_delete=0; blob_buffer=0; for (i=1000 ; i>0 ; i--) key1[i]=0; @@ -280,14 +280,14 @@ int main(int argc, char **argv) printf("can't find key1: \"%s\"\n",key); goto err; } - if (delete == (uint) remove_count) /* While testing */ + if (opt_delete == (uint) remove_count) /* While testing */ goto end; if (mi_delete(file,read_record)) { printf("error: %d; can't delete record: \"%s\"\n", my_errno,read_record); goto err; } - delete++; + opt_delete++; key1[atoi(read_record+keyinfo[0].seg[0].start)]--; key3[atoi(read_record+keyinfo[2].seg[0].start)]=0; } @@ -418,10 +418,10 @@ int main(int argc, char **argv) } while ((error=mi_rnext(file,read_record3,0)) == 0 && ant < write_count+10) ant++; - if (ant != write_count - delete || error != HA_ERR_END_OF_FILE) + if (ant != write_count - opt_delete || error != HA_ERR_END_OF_FILE) { printf("next: I found: %d records of %d (error: %d)\n", - ant, write_count - delete, error); + ant, write_count - opt_delete, error); goto end; } if (mi_rlast(file,read_record2,0) || @@ -435,7 +435,7 @@ int main(int argc, char **argv) ant=1; while (mi_rprev(file,read_record3,0) == 0 && ant < write_count+10) ant++; - if (ant != write_count - delete) + if (ant != write_count - opt_delete) { printf("prev: I found: %d records of %d\n",ant,write_count); goto end; @@ -495,7 +495,7 @@ int main(int argc, char **argv) if (mi_rkey(file,read_record,0,key,0,HA_READ_KEY_EXACT)) goto err; if (mi_rnext(file,read_record3,0)) goto err; if (mi_delete(file,read_record3)) goto err; - delete++; + opt_delete++; ant=1; while (mi_rnext(file,read_record3,0) == 0 && bcmp(read_record3+start,key,length) == 0) ant++; @@ -513,7 +513,7 @@ int main(int argc, char **argv) if (mi_rprev(file,read_record3,0)) goto err; if (mi_rprev(file,read_record3,0)) goto err; if (mi_delete(file,read_record3)) goto err; - delete++; + opt_delete++; ant=1; while (mi_rprev(file,read_record3,0) == 0 && bcmp(read_record3+start,key,length) == 0) ant++; @@ -530,7 +530,7 @@ int main(int argc, char **argv) DBUG_PRINT("progpos",("first - delete - next -> last")); if (mi_rkey(file,read_record3,0,key,0,HA_READ_KEY_EXACT)) goto err; if (mi_delete(file,read_record3)) goto err; - delete++; + opt_delete++; ant=1; if (mi_rnext(file,read_record,0)) goto err; /* Skall finnas poster */ @@ -547,7 +547,7 @@ int main(int argc, char **argv) DBUG_PRINT("progpos",("last - delete - prev -> first")); if (mi_rprev(file,read_record3,0)) goto err; if (mi_delete(file,read_record3)) goto err; - delete++; + opt_delete++; ant=0; while (mi_rprev(file,read_record3,0) == 0 && bcmp(read_record3+start,key,length) == 0) ant++; @@ -641,7 +641,7 @@ int main(int argc, char **argv) if (!silent) printf("- mi_info\n"); mi_status(file,&info,HA_STATUS_VARIABLE | HA_STATUS_CONST); - if (info.records != write_count-delete || info.deleted > delete + update + if (info.records != write_count-opt_delete || info.deleted > opt_delete + update || info.keys != keys) { puts("Wrong info from mi_info"); @@ -678,10 +678,10 @@ int main(int argc, char **argv) while ((error=mi_rrnd(file,record,HA_OFFSET_ERROR)) != HA_ERR_END_OF_FILE && ant < write_count + 10) ant+= error ? 0 : 1; - if (ant != write_count-delete) + if (ant != write_count-opt_delete) { printf("rrnd with cache: I can only find: %d records of %d\n", - ant,write_count-delete); + ant,write_count-opt_delete); goto end; } if (mi_extra(file,HA_EXTRA_NO_CACHE)) @@ -695,10 +695,10 @@ int main(int argc, char **argv) while ((error=mi_scan(file,record)) != HA_ERR_END_OF_FILE && ant < write_count + 10) ant+= error ? 0 : 1; - if (ant != write_count-delete) + if (ant != write_count-opt_delete) { printf("scan with cache: I can only find: %d records of %d\n", - ant,write_count-delete); + ant,write_count-opt_delete); goto end; } @@ -724,7 +724,7 @@ int main(int argc, char **argv) lastpos=info.recpos; if (error == 0) { - if (delete == (uint) remove_count) /* While testing */ + if (opt_delete == (uint) remove_count) /* While testing */ goto end; if (mi_rsame(file,read_record,-1)) { @@ -751,19 +751,19 @@ int main(int argc, char **argv) if (mi_delete(file,read_record)) { printf("can't delete record: %6.6s, delete_count: %d\n", - read_record, delete); + read_record, opt_delete); goto err; } - delete++; + opt_delete++; } else found_parts++; } if (my_errno != HA_ERR_END_OF_FILE && my_errno != HA_ERR_RECORD_DELETED) printf("error: %d from mi_rrnd\n",my_errno); - if (write_count != delete) + if (write_count != opt_delete) { - printf("Deleted only %d of %d records (%d parts)\n",delete,write_count, + printf("Deleted only %d of %d records (%d parts)\n",opt_delete,write_count, found_parts); goto err; } @@ -774,7 +774,7 @@ end: if (!silent) { printf("\nFollowing test have been made:\n"); - printf("Write records: %d\nUpdate records: %d\nSame-key-read: %d\nDelete records: %d\n", write_count,update,dupp_keys,delete); + printf("Write records: %d\nUpdate records: %d\nSame-key-read: %d\nDelete records: %d\n", write_count,update,dupp_keys,opt_delete); if (rec_pointer_size) printf("Record pointer size: %d\n",rec_pointer_size); if (key_cacheing) diff --git a/myisam/mi_test_all.sh b/myisam/mi_test_all.sh index dfa2e1d0fdd..ccc9c39c64e 100755 --- a/myisam/mi_test_all.sh +++ b/myisam/mi_test_all.sh @@ -1,5 +1,10 @@ +#!/bin/sh +# +# Execute some simple basic test on MyISAM libary to check if things +# works at all. + silent="-s" -suffix=$MACH +if test -f mi_test1$MACH ; then suffix=$MACH else suffix=""; fi mi_test1$suffix $silent myisamchk$suffix -se test1 mi_test1$suffix $silent -N -S diff --git a/myisam/myisamlog.c b/myisam/myisamlog.c index ca2c4f27a74..a6094cfd489 100644 --- a/myisam/myisamlog.c +++ b/myisam/myisamlog.c @@ -21,7 +21,7 @@ #endif #include "myisamdef.h" -#include "my_tree.h" +#include <my_tree.h> #include <stdarg.h> #ifdef HAVE_GETRUSAGE #include <sys/resource.h> @@ -251,12 +251,12 @@ static void get_options(register int *argc, register char ***argv) /* Fall through */ case 'I': case '?': - printf("%s Ver 1.3 for %s at %s\n",my_progname,SYSTEM_TYPE, + printf("%s Ver 1.4 for %s at %s\n",my_progname,SYSTEM_TYPE, MACHINE_TYPE); puts("By Monty, for your professional use\n"); if (version) break; - puts("Write info about whats in a myisam log file."); + puts("Write info about whats in a MyISAM log file."); printf("If no file name is given %s is used\n",log_filename); puts(""); printf(usage,my_progname); @@ -266,7 +266,7 @@ static void get_options(register int *argc, register char ***argv) puts(" -o \"offset\" -p # \"remove # components from path\""); puts(" -r \"recover\" -R \"file recordposition\""); puts(" -u \"update\" -v \"verbose\" -w \"write file\""); - puts(" -D \"myisam compileled with DBUG\" -P \"processes\""); + puts(" -D \"myisam compiled with DBUG\" -P \"processes\""); puts("\nOne can give a second and a third '-v' for more verbose."); puts("Normaly one does a update (-u)."); puts("If a recover is done all writes and all possibly updates and deletes is done\nand errors are only counted."); @@ -376,10 +376,8 @@ static int examine_log(my_string file_name, char **table_names) } if (curr_file_info) - { printf("\nWarning: %s is opened with same process and filenumber\nMaybe you should use the -P option ?\n", curr_file_info->show_name); - } if (my_b_read(&cache,(byte*) head,2)) goto err; file_info.name=0; diff --git a/myisam/myisampack.c b/myisam/myisampack.c index 0e4b6eafbde..557b4887b82 100644 --- a/myisam/myisampack.c +++ b/myisam/myisampack.c @@ -229,12 +229,12 @@ int main(int argc, char **argv) #endif } -enum options {OPT_CHARSETS_DIR=256}; +enum options {OPT_CHARSETS_DIR_MP=256}; static struct option long_options[] = { {"backup", no_argument, 0, 'b'}, - {"character-sets-dir",required_argument,0, OPT_CHARSETS_DIR}, + {"character-sets-dir",required_argument,0, OPT_CHARSETS_DIR_MP}, {"debug", optional_argument, 0, '#'}, {"force", no_argument, 0, 'f'}, {"join", required_argument, 0, 'j'}, @@ -334,7 +334,7 @@ static void get_options(int *argc,char ***argv) case '#': DBUG_PUSH(optarg ? optarg : "d:t:o"); break; - case OPT_CHARSETS_DIR: + case OPT_CHARSETS_DIR_MP: charsets_dir = optarg; break; case 'V': print_version(); exit(0); @@ -1167,7 +1167,7 @@ static int make_huff_tree(HUFF_TREE *huff_tree, HUFF_COUNTS *huff_counts) { uint i,found,bits_packed,first,last; my_off_t bytes_packed; - HUFF_ELEMENT *a,*b,*new; + HUFF_ELEMENT *a,*b,*new_huff_el; first=last=0; if (huff_counts->tree_buff) @@ -1247,23 +1247,23 @@ static int make_huff_tree(HUFF_TREE *huff_tree, HUFF_COUNTS *huff_counts) { if (huff_counts->counts[i]) { - new=huff_tree->element_buffer+(found++); - new->count=huff_counts->counts[i]; - new->a.leaf.null=0; - new->a.leaf.element_nr=i; - queue.root[found]=(byte*) new; + new_huff_el=huff_tree->element_buffer+(found++); + new_huff_el->count=huff_counts->counts[i]; + new_huff_el->a.leaf.null=0; + new_huff_el->a.leaf.element_nr=i; + queue.root[found]=(byte*) new_huff_el; } } while (found < 2) { /* Our huff_trees request at least 2 elements */ - new=huff_tree->element_buffer+(found++); - new->count=0; - new->a.leaf.null=0; + new_huff_el=huff_tree->element_buffer+(found++); + new_huff_el->count=0; + new_huff_el->a.leaf.null=0; if (last) - new->a.leaf.element_nr=huff_tree->min_chr=last-1; + new_huff_el->a.leaf.element_nr=huff_tree->min_chr=last-1; else - new->a.leaf.element_nr=huff_tree->max_chr=last+1; - queue.root[found]=(byte*) new; + new_huff_el->a.leaf.element_nr=huff_tree->max_chr=last+1; + queue.root[found]=(byte*) new_huff_el; } } queue.elements=found; @@ -1275,13 +1275,13 @@ static int make_huff_tree(HUFF_TREE *huff_tree, HUFF_COUNTS *huff_counts) { a=(HUFF_ELEMENT*) queue_remove(&queue,0); b=(HUFF_ELEMENT*) queue.root[1]; - new=huff_tree->element_buffer+found+i; - new->count=a->count+b->count; - bits_packed+=(uint) (new->count & 7); - bytes_packed+=new->count/8; - new->a.nod.left=a; /* lesser in left */ - new->a.nod.right=b; - queue.root[1]=(byte*) new; + new_huff_el=huff_tree->element_buffer+found+i; + new_huff_el->count=a->count+b->count; + bits_packed+=(uint) (new_huff_el->count & 7); + bytes_packed+=new_huff_el->count/8; + new_huff_el->a.nod.left=a; /* lesser in left */ + new_huff_el->a.nod.right=b; + queue.root[1]=(byte*) new_huff_el; queue_replaced(&queue); } huff_tree->root=(HUFF_ELEMENT*) queue.root[1]; @@ -1303,14 +1303,14 @@ static int compare_tree(register const uchar *s, register const uchar *t) static int save_counts_in_queue(byte *key, element_count count, HUFF_TREE *tree) { - HUFF_ELEMENT *new; + HUFF_ELEMENT *new_huff_el; - new=tree->element_buffer+(tree->elements++); - new->count=count; - new->a.leaf.null=0; - new->a.leaf.element_nr= (uint) (key- tree->counts->tree_buff) / + new_huff_el=tree->element_buffer+(tree->elements++); + new_huff_el->count=count; + new_huff_el->a.leaf.null=0; + new_huff_el->a.leaf.element_nr= (uint) (key- tree->counts->tree_buff) / tree->counts->field_length; - queue.root[tree->elements]=(byte*) new; + queue.root[tree->elements]=(byte*) new_huff_el; return 0; } @@ -1352,14 +1352,14 @@ static my_off_t calc_packed_length(HUFF_COUNTS *huff_counts, _downheap(&queue,i); for (i=0 ; i < found-1 ; i++) { - HUFF_ELEMENT *a,*b,*new; + HUFF_ELEMENT *a,*b,*new_huff_el; a=(HUFF_ELEMENT*) queue_remove(&queue,0); b=(HUFF_ELEMENT*) queue.root[1]; - new=element_buffer+i; - new->count=a->count+b->count; - bits_packed+=(uint) (new->count & 7); - bytes_packed+=new->count/8; - queue.root[1]=(byte*) new; + new_huff_el=element_buffer+i; + new_huff_el->count=a->count+b->count; + bits_packed+=(uint) (new_huff_el->count & 7); + bytes_packed+=new_huff_el->count/8; + queue.root[1]=(byte*) new_huff_el; queue_replaced(&queue); } DBUG_RETURN(bytes_packed+(bits_packed+7)/8); diff --git a/myisam/sort.c b/myisam/sort.c index e6c7d61e39a..39874d05640 100644 --- a/myisam/sort.c +++ b/myisam/sort.c @@ -28,6 +28,9 @@ #include <queues.h> /* static variabels */ +#undef MIN_SORT_MEMORY +#undef MYF_RW +#undef DISK_BUFFER_SIZE #define MERGEBUFF 15 #define MERGEBUFF2 31 @@ -36,10 +39,10 @@ #define DISK_BUFFER_SIZE (IO_SIZE*16) typedef struct st_buffpek { - my_off_t file_pos; /* position to buffer */ - ha_rows count; /* keys in buffer */ - uchar *base,*key; /* Pekare inom sort_key - indexdel */ - uint mem_count; /* keys left in memory */ + my_off_t file_pos; /* Where we are in the sort file */ + ha_rows count; /* Number of rows in table */ + uchar *base,*key; /* Key pointers */ + uint mem_count; /* numbers of keys in memory */ uint max_keys; /* Max keys in buffert */ } BUFFPEK; @@ -361,7 +364,7 @@ merge_buffers(MI_SORT_PARAM *info, uint keys, IO_CACHE *from_file, sort_length)); if (error == -1) goto err; /* purecov: inspected */ - queue_insert(&queue,(void*) buffpek); + queue_insert(&queue,(char*) buffpek); } while (queue.elements > 1) |