summaryrefslogtreecommitdiff
path: root/myisam/mi_extra.c
diff options
context:
space:
mode:
authormonty@mashka.mysql.fi <>2003-01-09 02:19:14 +0200
committermonty@mashka.mysql.fi <>2003-01-09 02:19:14 +0200
commit3c08da957e58937ead92a7609e67d2234fe76676 (patch)
treed8a4d338b246396e32745b9fe381fc6de42d5a9d /myisam/mi_extra.c
parent23c13c453982c4817831ecc36d06913518c52790 (diff)
downloadmariadb-git-3c08da957e58937ead92a7609e67d2234fe76676.tar.gz
Don't count NULL values in cardinalty for MyISAM tables.
Free row buffer cache after each query for MyISAM tables. Added table join option FORCE INDEX Fixed core dump bug when connecting with hostname that could not be resolved.
Diffstat (limited to 'myisam/mi_extra.c')
-rw-r--r--myisam/mi_extra.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/myisam/mi_extra.c b/myisam/mi_extra.c
index 8429b22dad4..75057dd4e6a 100644
--- a/myisam/mi_extra.c
+++ b/myisam/mi_extra.c
@@ -55,12 +55,17 @@ int mi_extra(MI_INFO *info, enum ha_extra_function function, void *extra_arg)
/*
Free buffers and reset the following flags:
EXTRA_CACHE, EXTRA_WRITE_CACHE, EXTRA_KEYREAD, EXTRA_QUICK
+
+ If the row buffer cache is large (for dynamic tables), reduce it
+ to save memory.
*/
if (info->opt_flag & (READ_CACHE_USED | WRITE_CACHE_USED))
{
info->opt_flag&= ~(READ_CACHE_USED | WRITE_CACHE_USED);
error=end_io_cache(&info->rec_cache);
}
+ if (share->base.blobs)
+ mi_alloc_rec_buff(info, -1, &info->rec_buff);
#if defined(HAVE_MMAP) && defined(HAVE_MADVICE)
if (info->opt_flag & MEMMAP_USED)
madvise(share->file_map,share->state.state.data_file_length,MADV_RANDOM);