diff options
author | monty@donna.mysql.com <> | 2000-08-29 12:31:01 +0300 |
---|---|---|
committer | monty@donna.mysql.com <> | 2000-08-29 12:31:01 +0300 |
commit | 066d55c0c09d589d17bf466682134af50cb59e14 (patch) | |
tree | 8c9e3c031400ac400edcf6561fe51f4bdbd69369 /myisam | |
parent | d564acf14eb07cefedf0218c90fd109c61dc6e2f (diff) | |
download | mariadb-git-066d55c0c09d589d17bf466682134af50cb59e14.tar.gz |
Bug fixes for 3.23.23
Diffstat (limited to 'myisam')
-rw-r--r-- | myisam/ChangeLog | 4 | ||||
-rw-r--r-- | myisam/Makefile.am | 2 | ||||
-rw-r--r-- | myisam/ft_stopwords.c | 2 | ||||
-rw-r--r-- | myisam/mi_delete_table.c | 7 | ||||
-rw-r--r-- | myisam/mi_rename.c | 8 | ||||
-rw-r--r-- | myisam/mi_rnext.c | 2 | ||||
-rw-r--r-- | myisam/mi_rprev.c | 2 | ||||
-rw-r--r-- | myisam/mi_search.c | 1 | ||||
-rw-r--r-- | myisam/myisamdef.h | 2 |
9 files changed, 26 insertions, 4 deletions
diff --git a/myisam/ChangeLog b/myisam/ChangeLog index e7950684f56..d212039fedf 100644 --- a/myisam/ChangeLog +++ b/myisam/ChangeLog @@ -1,3 +1,7 @@ +2000-08-23 Michael Widenius <monty@mysql.com> + +* Fixed bug when comparing DECIMAL/NUMERIC key parts. + 2000-08-17 Michael Widenius <monty@mysql.com> * Add a new flag in share.staus so that we can quickly check if a table diff --git a/myisam/Makefile.am b/myisam/Makefile.am index 6c5767640c8..aff1b670f33 100644 --- a/myisam/Makefile.am +++ b/myisam/Makefile.am @@ -43,7 +43,7 @@ libmyisam_a_SOURCES = mi_open.c mi_extra.c mi_info.c mi_rkey.c \ mi_rsamepos.c mi_panic.c mi_close.c mi_create.c\ mi_range.c mi_dbug.c mi_checksum.c mi_log.c \ mi_changed.c mi_static.c mi_delete_all.c \ - mi_delete_table.c mi_rename.c mi_check.c \ + mi_delete_table.c mi_rename.c mi_check.c mi_debug.c \ ft_parser.c ft_search.c ft_stopwords.c ft_static.c \ ft_update.c sort.c CLEANFILES = test?.IS? isam.log mi_test_all diff --git a/myisam/ft_stopwords.c b/myisam/ft_stopwords.c index f8fddc9d4bb..4c13a845b42 100644 --- a/myisam/ft_stopwords.c +++ b/myisam/ft_stopwords.c @@ -48,7 +48,7 @@ int ft_init_stopwords(const char **sws) for(;*sws;sws++) { - if( (sw.len=strlen(sw.pos=*sws)) < MIN_WORD_LEN) continue; + if( (sw.len= (uint) strlen(sw.pos=*sws)) < MIN_WORD_LEN) continue; if(!tree_insert(stopwords3, &sw, 0)) { delete_tree(stopwords3); diff --git a/myisam/mi_delete_table.c b/myisam/mi_delete_table.c index 916f5a8fc02..360956ad110 100644 --- a/myisam/mi_delete_table.c +++ b/myisam/mi_delete_table.c @@ -30,6 +30,10 @@ int mi_delete_table(const char *name) uint raid_type=0,raid_chunks=0; #endif DBUG_ENTER("mi_delete_table"); + +#ifdef EXTRA_DEBUG + check_table_is_closed(name,"delete"); +#endif #ifdef USE_RAID { MI_INFO *info; @@ -39,7 +43,10 @@ int mi_delete_table(const char *name) raid_chunks = info->s->base.raid_chunks; mi_close(info); } +#ifdef EXTRA_DEBUG + check_table_is_closed(name,"delete"); #endif +#endif /* USE_RAID */ fn_format(from,name,"",MI_NAME_IEXT,4); if (my_delete(from, MYF(MY_WME))) diff --git a/myisam/mi_rename.c b/myisam/mi_rename.c index 6849e1c3d26..5c92db3f7ce 100644 --- a/myisam/mi_rename.c +++ b/myisam/mi_rename.c @@ -30,6 +30,11 @@ int mi_rename(const char *old_name, const char *new_name) uint raid_type=0,raid_chunks=0; #endif DBUG_ENTER("mi_rename"); + +#ifdef EXTRA_DEBUG + check_table_is_closed(old_name,"rename old_table"); + check_table_is_closed(new_name,"rename new table2"); +#endif #ifdef USE_RAID { MI_INFO *info; @@ -39,7 +44,10 @@ int mi_rename(const char *old_name, const char *new_name) raid_chunks = info->s->base.raid_chunks; mi_close(info); } +#ifdef EXTRA_DEBUG + check_table_is_closed(old_name,"rename raidcheck"); #endif +#endif /* USE_RAID */ fn_format(from,old_name,"",MI_NAME_IEXT,4); fn_format(to,new_name,"",MI_NAME_IEXT,4); diff --git a/myisam/mi_rnext.c b/myisam/mi_rnext.c index 0dc40d0257f..f7e7b61d934 100644 --- a/myisam/mi_rnext.c +++ b/myisam/mi_rnext.c @@ -57,7 +57,7 @@ int mi_rnext(MI_INFO *info, byte *buf, int inx) /* Skip rows that are inserted by other threads since we got a lock */ if ((error=_mi_search_next(info,info->s->keyinfo+inx,info->lastkey, info->lastkey_length, - flag, + SEARCH_BIGGER, info->s->state.key_root[inx]))) break; } diff --git a/myisam/mi_rprev.c b/myisam/mi_rprev.c index 6a75cc0daa6..471eecc33f5 100644 --- a/myisam/mi_rprev.c +++ b/myisam/mi_rprev.c @@ -58,7 +58,7 @@ int mi_rprev(MI_INFO *info, byte *buf, int inx) /* Skip rows that are inserted by other threads since we got a lock */ if ((error=_mi_search_next(info,share->keyinfo+inx,info->lastkey, info->lastkey_length, - flag, + SEARCH_SMALLER, share->state.key_root[inx]))) break; } diff --git a/myisam/mi_search.c b/myisam/mi_search.c index 812982082af..8fb35f3af65 100644 --- a/myisam/mi_search.c +++ b/myisam/mi_search.c @@ -716,6 +716,7 @@ int _mi_key_cmp(register MI_KEYSEG *keyseg, register uchar *a, { alength= *a++; blength= *b++; end=a+alength; + next_key_length=key_length-blength-1; } else { diff --git a/myisam/myisamdef.h b/myisam/myisamdef.h index d0774feaa9d..cd1eaa76ce1 100644 --- a/myisam/myisamdef.h +++ b/myisam/myisamdef.h @@ -622,6 +622,8 @@ void mi_dectivate_non_unique_index(MI_INFO *info, ha_rows rows); int _mi_rkey(MI_INFO *info, byte *buf, int inx, const byte *key, uint key_len, enum ha_rkey_function search_flag, bool raw_key); +my_bool check_table_is_closed(const char *name, const char *where); + /* Functions needed by mi_check */ #ifdef __cplusplus extern "C" { |