diff options
author | unknown <monty@donna.mysql.com> | 2000-08-15 20:09:37 +0300 |
---|---|---|
committer | unknown <monty@donna.mysql.com> | 2000-08-15 20:09:37 +0300 |
commit | 8b3993bc017512c3bf20315b12d1a8b7a6870381 (patch) | |
tree | 5f72e7444fbc3c8d944a66b54b26550a04e4f0be /mysys | |
parent | 99110483b2271095dd8b2cb655e3a054f6f7c5a5 (diff) | |
download | mariadb-git-8b3993bc017512c3bf20315b12d1a8b7a6870381.tar.gz |
Fixed for Ia64 + delayed key creation + a lot of small bug fixes
Docs/Makefile.am:
Removed typo
Docs/internals.texi:
Added documentation about filesort
Docs/manual.texi:
Lots of changes, including information about the password in the mysql.user table
config.h.in:
***MISSING WEAVE***
heap/hp_rnext.c:
Fix of reading of read-next
include/config-win.h:
Fix for Ia64
include/global.h:
Fix for Ia64
include/my_base.h:
Fix for Ia64
include/myisam.h:
New repair options
isam/_dynrec.c:
Typo fixes
isam/_search.c:
Fix for Ia64
merge/rrnd.c:
Fix of ORDER BY for MERGE tables
myisam/ft_eval.c:
Fix for Ia64
myisam/ft_parser.c:
Fix for Ia64
myisam/ft_static.c:
Portability fixes
myisam/mi_check.c:
Fix for Ia64 + delay key creation
myisam/mi_locking.c:
Portability fixes
myisam/myisamdef.h:
Fixes for automatic table repair
myisam/myisampack.c:
Version number increment
myisammrg/myrg_rrnd.c:
Fix of ORDER BY for mymerge tables
mysql.proj:
Updated
mysys/charset.c:
Fix for Ia64
mysys/mf_casecnv.c:
Fix for Ia64
mysys/mf_pack.c:
Fix for Ia64
mysys/mf_path.c:
Fix for Ia64
mysys/mf_wfile.c:
Fix for Ia64
mysys/my_alloc.c:
Fix for Ia64
mysys/my_lib.c:
Fix for Ia64
mysys/my_lread.c:
Fix for Ia64
mysys/my_lwrite.c:
Fix for Ia64
mysys/my_winthread.c:
Fix for Ia64
mysys/string.c:
Fix for Ia64
mysys/thr_alarm.c:
Fix for Ia64
mysys/thr_rwlock.c:
Fix of scheduler bug for systems without rw_locks
regex/regcomp.c:
Fix for Ia64
regex/regex.h:
Fix for Ia64
regex/regex2.h:
Fix for Ia64
scripts/mysqlhotcopy.sh:
Explicit version number (because of bitkeeper)
sql-bench/bench-init.pl.sh:
New help message
sql-bench/server-cfg.sh:
Updates for postgreSQL 7.0
sql/ChangeLog:
Changelog
sql/field.cc:
Fix of datetime function handling
sql/filesort.cc:
More comments
sql/gen_lex_hash.cc:
More options
sql/ha_berkeley.cc:
Fix for part key reading
sql/ha_berkeley.h:
Indentation
sql/ha_myisam.cc:
Fix for delayed key creation
sql/ha_myisam.h:
Fix for delayed key creation
sql/handler.h:
Fix for delayed key creation
sql/item_func.cc:
Fix of crash when using constant expression with UDF functions in WHERE
sql/item_timefunc.cc:
Fix of datetime function handling
sql/mini_client.cc:
Portability fix
sql/mysql_priv.h:
Optimization of select initialization
sql/mysqld.cc:
Portability fixes, thread cache and min argument for connect_timeout
sql/sql_load.cc:
Delayed key handling
sql/sql_parse.cc:
Portability fixes and select initialization optimization
sql/sql_select.cc:
Small optimization + more comments
sql/sql_table.cc:
Fix default value adding to blob with alter table + delayed index creation
sql/sql_yacc.yy:
Optimized select initialization
sql/structs.h:
Fix for part key read
strings/ctype-sjis.c:
Fix for Ia64
strings/ctype-tis620.c:
Fix for Ia64
strings/t_ctype.h:
bk fix
support-files/mysql.spec.sh:
Added comment
vio/viotest-ssl.cc:
bk fix
vio/viotest-sslconnect.cc:
bk fix
vio/viotest.cc:
bk fix
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
Diffstat (limited to 'mysys')
-rw-r--r-- | mysys/charset.c | 6 | ||||
-rw-r--r-- | mysys/mf_casecnv.c | 6 | ||||
-rw-r--r-- | mysys/mf_pack.c | 12 | ||||
-rw-r--r-- | mysys/mf_path.c | 2 | ||||
-rw-r--r-- | mysys/mf_wfile.c | 3 | ||||
-rw-r--r-- | mysys/my_alloc.c | 2 | ||||
-rw-r--r-- | mysys/my_lib.c | 4 | ||||
-rw-r--r-- | mysys/my_lread.c | 2 | ||||
-rw-r--r-- | mysys/my_lwrite.c | 2 | ||||
-rw-r--r-- | mysys/my_winthread.c | 6 | ||||
-rw-r--r-- | mysys/string.c | 4 | ||||
-rw-r--r-- | mysys/thr_alarm.c | 2 | ||||
-rw-r--r-- | mysys/thr_rwlock.c | 8 |
13 files changed, 30 insertions, 29 deletions
diff --git a/mysys/charset.c b/mysys/charset.c index 88b0972431e..bf51184589c 100644 --- a/mysys/charset.c +++ b/mysys/charset.c @@ -112,7 +112,7 @@ static my_bool read_charset_index(TYPELIB *charsets, myf myflags) while (!get_word(&fb, buf)) { uint length; - if (!(s= (char*) my_once_alloc(length=strlen(buf)+1, myflags))) + if (!(s= (char*) my_once_alloc(length= (uint) strlen(buf)+1, myflags))) { my_fclose(fb.f,myflags); return TRUE; @@ -292,7 +292,7 @@ static CHARSET_INFO *add_charset(uint cs_number, const char *cs_name) cs = (CHARSET_INFO*) my_once_alloc(sizeof(CHARSET_INFO), MYF(MY_WME)); *cs=tmp_cs; - cs->name = (char *) my_once_alloc(strlen(cs_name) + 1, MYF(MY_WME)); + cs->name = (char *) my_once_alloc((uint) strlen(cs_name)+1, MYF(MY_WME)); cs->ctype = (uchar*) my_once_alloc(CTYPE_TABLE_SIZE, MYF(MY_WME)); cs->to_lower = (uchar*) my_once_alloc(TO_LOWER_TABLE_SIZE, MYF(MY_WME)); cs->to_upper = (uchar*) my_once_alloc(TO_UPPER_TABLE_SIZE, MYF(MY_WME)); @@ -410,7 +410,7 @@ my_bool set_default_charset_by_name(const char *cs_name, myf flags) static my_bool charset_in_string(const char *name, DYNAMIC_STRING *s) { - uint length=strlen(name); + uint length= (uint) strlen(name); const char *pos; for (pos=s->str ; (pos=strstr(pos,name)) ; pos++) { diff --git a/mysys/mf_casecnv.c b/mysys/mf_casecnv.c index 705e1361937..1d63527eb7b 100644 --- a/mysys/mf_casecnv.c +++ b/mysys/mf_casecnv.c @@ -32,7 +32,7 @@ void caseup_str(my_string str) { #ifdef USE_MB register uint32 l; - register char *end=str+strlen(str); + register char *end=str+(uint) strlen(str); if (use_mb(default_charset_info)) while (*str) { @@ -51,7 +51,7 @@ void casedn_str(my_string str) { #ifdef USE_MB register uint32 l; - register char *end=str+strlen(str); + register char *end=str+(uint) strlen(str); if (use_mb(default_charset_info)) while (*str) { @@ -144,7 +144,7 @@ int my_strcasecmp(const char *s, const char *t) { #ifdef USE_MB register uint32 l; - register const char *end=s+strlen(s); + register const char *end=s+(uint) strlen(s); if (use_mb(default_charset_info)) { while (s<end) diff --git a/mysys/mf_pack.c b/mysys/mf_pack.c index 8aff6a3484a..bfa9e5d8711 100644 --- a/mysys/mf_pack.c +++ b/mysys/mf_pack.c @@ -53,13 +53,13 @@ void pack_dirname(my_string to, const char *from) LINT_INIT(buff_length); if (!(cwd_err= my_getwd(buff,FN_REFLEN,MYF(0)))) { - buff_length=strlen(buff); + buff_length= (uint) strlen(buff); d_length=(uint) (start-to); if ((start == to || (buff_length == d_length && !bcmp(buff,start,d_length))) && *start != FN_LIBCHAR && *start) { /* Put current dir before */ - bchange(to,d_length,buff,buff_length,strlen(to)+1); + bchange(to,d_length,buff,buff_length,(uint) strlen(to)+1); } } @@ -68,7 +68,7 @@ void pack_dirname(my_string to, const char *from) length=0; if (home_dir) { - length=strlen(home_dir); + length= (uint) strlen(home_dir); if (home_dir[length-1] == FN_LIBCHAR) length--; /* Don't test last '/' */ } @@ -92,7 +92,7 @@ void pack_dirname(my_string to, const char *from) } if (is_prefix(to,buff)) { - length=strlen(buff); + length= (uint) strlen(buff); if (to[length]) (void) strmov_overlapp(to,to+length); /* Remove everything before */ else @@ -265,7 +265,7 @@ uint unpack_dirname(my_string to, const char *from) DBUG_ENTER("unpack_dirname"); (void) intern_filename(buff,from); /* Change to intern name */ - length=strlen(buff); /* Fix that '/' is last */ + length= (uint) strlen(buff); /* Fix that '/' is last */ if (length && #ifdef FN_DEVCHAR buff[length-1] != FN_DEVCHAR && @@ -283,7 +283,7 @@ uint unpack_dirname(my_string to, const char *from) if (tilde_expansion) { length-=(uint) (suffix-buff)-1; - if (length+(h_length=strlen(tilde_expansion)) <= FN_REFLEN) + if (length+(h_length= (uint) strlen(tilde_expansion)) <= FN_REFLEN) { if (tilde_expansion[h_length-1] == FN_LIBCHAR) h_length--; diff --git a/mysys/mf_path.c b/mysys/mf_path.c index 0a0a760cea1..f7dcf34e6b4 100644 --- a/mysys/mf_path.c +++ b/mysys/mf_path.c @@ -46,7 +46,7 @@ my_string my_path(my_string to, const char *progname, if (!test_if_hard_path(to)) { if (!my_getwd(curr_dir,FN_REFLEN,MYF(0))) - bchange(to,0,curr_dir,strlen(curr_dir),strlen(to)+1); + bchange(to,0,curr_dir, (uint) strlen(curr_dir), (uint) strlen(to)+1); } } else diff --git a/mysys/mf_wfile.c b/mysys/mf_wfile.c index 02e155d9936..87d1392250a 100644 --- a/mysys/mf_wfile.c +++ b/mysys/mf_wfile.c @@ -63,7 +63,8 @@ WF_PACK *wf_comp(my_string str) #endif if ((ret= (WF_PACK*) my_malloc((uint) ant*(sizeof(my_string*)+2)+ - sizeof(WF_PACK)+strlen(str)+1,MYF(MY_WME))) + sizeof(WF_PACK)+ (uint) strlen(str)+1, + MYF(MY_WME))) == 0) DBUG_RETURN((WF_PACK *) NULL); ret->wild= (my_string*) (ret+1); diff --git a/mysys/my_alloc.c b/mysys/my_alloc.c index 693ffbfab78..45fd2516683 100644 --- a/mysys/my_alloc.c +++ b/mysys/my_alloc.c @@ -112,7 +112,7 @@ void free_root(MEM_ROOT *root) char *strdup_root(MEM_ROOT *root,const char *str) { - uint len=strlen(str)+1; + uint len= (uint) strlen(str)+1; char *pos; if ((pos=alloc_root(root,len))) memcpy(pos,str,len); diff --git a/mysys/my_lib.c b/mysys/my_lib.c index b8554b08d28..0f4a5261fba 100644 --- a/mysys/my_lib.c +++ b/mysys/my_lib.c @@ -353,7 +353,11 @@ myf MyFlags; ushort mode; char tmp_path[FN_REFLEN],*tmp_file,attrib; my_ptrdiff_t diff; +#ifdef _WIN64 + __int64 handle; +#else long handle; +#endif DBUG_ENTER("my_dir"); DBUG_PRINT("my",("path: '%s' stat: %d MyFlags: %d",path,MyFlags)); diff --git a/mysys/my_lread.c b/mysys/my_lread.c index c3b8a6704c3..94ed258151e 100644 --- a/mysys/my_lread.c +++ b/mysys/my_lread.c @@ -32,7 +32,7 @@ uint32 my_lread(int Filedes, byte *Buffer, uint32 Count, myf MyFlags) Filedes, Buffer, Count, MyFlags)); /* Temp hack to get count to int32 while read wants int */ - if ((readbytes = (uint32) read(Filedes, Buffer, (size_t) Count)) != Count) + if ((readbytes = (uint32) read(Filedes, Buffer, (uint) Count)) != Count) { my_errno=errno; if (MyFlags & (MY_WME | MY_FAE | MY_FNABP)) diff --git a/mysys/my_lwrite.c b/mysys/my_lwrite.c index 201c36f619c..734916173ce 100644 --- a/mysys/my_lwrite.c +++ b/mysys/my_lwrite.c @@ -28,7 +28,7 @@ uint32 my_lwrite(int Filedes, const byte *Buffer, uint32 Count, myf MyFlags) Filedes, Buffer, Count, MyFlags)); /* Temp hack to get count to int32 while write wants int */ - if ((writenbytes = (uint32) write(Filedes, Buffer, (size_t) Count)) != Count) + if ((writenbytes = (uint32) write(Filedes, Buffer, (uint) Count)) != Count) { my_errno=errno; if (writenbytes == (uint32) -1 || MyFlags & (MY_NABP | MY_FNABP)) diff --git a/mysys/my_winthread.c b/mysys/my_winthread.c index 436fc954d93..7a1e1365325 100644 --- a/mysys/my_winthread.c +++ b/mysys/my_winthread.c @@ -83,11 +83,11 @@ int pthread_create(pthread_t *thread_id, pthread_attr_t *attr, *thread_id=map->pthreadself=hThread; pthread_mutex_unlock(&THR_LOCK_thread); - if ((long) hThread == -1L) + if (hThread == (HANDLE) -1) { - long error=errno; + int error=errno; DBUG_PRINT("error", - ("Can't create thread to handle request (error %ld)",error)); + ("Can't create thread to handle request (error %d)",error)); DBUG_RETURN(error ? error : -1); } VOID(SetThreadPriority(hThread, attr->priority)) ; diff --git a/mysys/string.c b/mysys/string.c index f7e265a43e6..0696c72b922 100644 --- a/mysys/string.c +++ b/mysys/string.c @@ -33,7 +33,7 @@ my_bool init_dynamic_string(DYNAMIC_STRING *str, const char *init_str, if (!alloc_increment) alloc_increment=128; length=1; - if (init_str && (length=strlen(init_str)+1) < init_alloc) + if (init_str && (length= (uint) strlen(init_str)+1) < init_alloc) init_alloc=((length+alloc_increment-1)/alloc_increment)*alloc_increment; if (!init_alloc) init_alloc=alloc_increment; @@ -53,7 +53,7 @@ my_bool dynstr_set(DYNAMIC_STRING *str, const char *init_str) uint length; DBUG_ENTER("dynstr_set"); - if (init_str && (length=strlen(init_str)+1) > str->max_length) + if (init_str && (length= (uint) strlen(init_str)+1) > str->max_length) { str->max_length=((length+str->alloc_increment-1)/str->alloc_increment)* str->alloc_increment; diff --git a/mysys/thr_alarm.c b/mysys/thr_alarm.c index a681c1b110d..de8d3718c11 100644 --- a/mysys/thr_alarm.c +++ b/mysys/thr_alarm.c @@ -831,7 +831,7 @@ bool thr_alarm(thr_alarm_t *alrm, uint sec, ALARM *alarm) alrm->crono=0; return 1; } - if (!(alrm->crono=SetTimer(NULL,0,(long) sec*1000L, (TIMERPROC) NULL))) + if (!(alrm->crono=SetTimer((HWND) NULL,0, sec*1000,(TIMERPROC) NULL))) return 1; return 0; } diff --git a/mysys/thr_rwlock.c b/mysys/thr_rwlock.c index fc2eea551da..37630956e7f 100644 --- a/mysys/thr_rwlock.c +++ b/mysys/thr_rwlock.c @@ -87,7 +87,7 @@ int my_rw_rdlock( rw_lock_t *rwp ) { pthread_mutex_lock(&rwp->lock); /* active or queued writers */ - while ( ( rwp->state < 0 ) && rwp->waiters ) + while ( ( rwp->state < 0 ) || rwp->waiters ) pthread_cond_wait( &rwp->readers, &rwp->lock); rwp->state++; @@ -103,12 +103,8 @@ int my_rw_wrlock( rw_lock_t *rwp ) { while ( rwp->state ) pthread_cond_wait( &rwp->writers, &rwp->lock); - rwp->state = -1; - - if ( ( --rwp->waiters == 0 ) && ( rwp->state >= 0 ) ) - pthread_cond_broadcast( &rwp->readers ); - + --rwp->waiters; pthread_mutex_unlock( &rwp->lock ); return( 0 ); |