summaryrefslogtreecommitdiff
path: root/myisam
diff options
context:
space:
mode:
authorunknown <monty@donna.mysql.com>2000-08-29 12:56:57 +0300
committerunknown <monty@donna.mysql.com>2000-08-29 12:56:57 +0300
commitc9ed6ae4ccdc85a40e4d05cea31202a339af5c1d (patch)
tree5291eb83639d7dad5beed43c48a3f19890a57a86 /myisam
parent99a70d04c7b9006b079875d80190d727ffe15bda (diff)
parent52046a7ba3c00111bf27195197b486a9ef558416 (diff)
downloadmariadb-git-c9ed6ae4ccdc85a40e4d05cea31202a339af5c1d.tar.gz
merge
sql/mysqld.cc: Auto merged sql/sql_select.cc: Auto merged
Diffstat (limited to 'myisam')
-rw-r--r--myisam/ChangeLog4
-rw-r--r--myisam/Makefile.am2
-rw-r--r--myisam/ft_stopwords.c2
-rw-r--r--myisam/mi_delete_table.c7
-rw-r--r--myisam/mi_rename.c8
-rw-r--r--myisam/mi_rnext.c2
-rw-r--r--myisam/mi_rprev.c2
-rw-r--r--myisam/mi_search.c1
-rw-r--r--myisam/myisamdef.h2
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" {