summaryrefslogtreecommitdiff
path: root/myisam
diff options
context:
space:
mode:
authorserg@serg.mylan <>2006-01-03 18:12:03 +0100
committerserg@serg.mylan <>2006-01-03 18:12:03 +0100
commit30c09d6dc09adcd8aac8769af49402e1812d6455 (patch)
treecfc5357eb7d1e59ea0163aa88d31bcf7644151d7 /myisam
parent8ce6f3e6ca7fedd2142e784e9aeab72ec2e49951 (diff)
parent14f94dc0cad1419e74047956c059c1cf9c3e7a2c (diff)
downloadmariadb-git-30c09d6dc09adcd8aac8769af49402e1812d6455.tar.gz
merged
Diffstat (limited to 'myisam')
-rw-r--r--myisam/mi_delete.c3
-rw-r--r--myisam/myisampack.c2
-rw-r--r--myisam/sort.c3
3 files changed, 6 insertions, 2 deletions
diff --git a/myisam/mi_delete.c b/myisam/mi_delete.c
index 416d951d138..2010b684300 100644
--- a/myisam/mi_delete.c
+++ b/myisam/mi_delete.c
@@ -276,7 +276,8 @@ static int d_search(register MI_INFO *info, register MI_KEYDEF *keyinfo,
if (subkeys == -1)
{
/* the last entry in sub-tree */
- _mi_dispose(info, keyinfo, root,DFLT_INIT_HITS);
+ if (_mi_dispose(info, keyinfo, root,DFLT_INIT_HITS))
+ DBUG_RETURN(-1);
/* fall through to normal delete */
}
else
diff --git a/myisam/myisampack.c b/myisam/myisampack.c
index d691c24e890..e80a3ffacd9 100644
--- a/myisam/myisampack.c
+++ b/myisam/myisampack.c
@@ -1159,7 +1159,7 @@ static int compare_huff_elements(void *not_used __attribute__((unused)),
static void check_counts(HUFF_COUNTS *huff_counts, uint trees,
my_off_t records)
{
- uint space_fields,fill_zero_fields,field_count[(int) FIELD_VARCHAR+1];
+ uint space_fields,fill_zero_fields,field_count[(int) FIELD_enum_val_count];
my_off_t old_length,new_length,length;
DBUG_ENTER("check_counts");
diff --git a/myisam/sort.c b/myisam/sort.c
index c3eaddb3e92..c9562461f56 100644
--- a/myisam/sort.c
+++ b/myisam/sort.c
@@ -376,7 +376,10 @@ pthread_handler_t thr_find_all_keys(void *arg)
{
if (my_init_dynamic_array(&info->buffpek, sizeof(BUFFPEK),
maxbuffer, maxbuffer/2))
+ {
my_free((gptr) sort_keys,MYF(0));
+ sort_keys= (uchar **) NULL; /* for err: label */
+ }
else
break;
}