summaryrefslogtreecommitdiff
path: root/storage/myisam/sort.c
diff options
context:
space:
mode:
authorunknown <kaa@polly.(none)>2007-10-16 19:25:04 +0400
committerunknown <kaa@polly.(none)>2007-10-16 19:25:04 +0400
commit6f471bff96553b337a4605d7833eaa61722036dc (patch)
tree28eee075e0e0131d7cd1e6905fb09ffcb1ecf4ae /storage/myisam/sort.c
parent70ee3aa75fada72b193797e26496c91906f4cbf8 (diff)
parent9ef7b5f6f0a71208892ad97c89f5e6aba173b5a3 (diff)
downloadmariadb-git-6f471bff96553b337a4605d7833eaa61722036dc.tar.gz
Merge polly.(none):/home/kaa/src/maint/mysql-5.0-maint
into polly.(none):/home/kaa/src/maint/mysql-5.1-maint storage/myisam/sort.c: Auto merged mysql-test/r/repair.result: SCCS merged mysql-test/t/repair.test: SCCS merged
Diffstat (limited to 'storage/myisam/sort.c')
-rw-r--r--storage/myisam/sort.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/storage/myisam/sort.c b/storage/myisam/sort.c
index 2146a8d16cb..941b6a7616c 100644
--- a/storage/myisam/sort.c
+++ b/storage/myisam/sort.c
@@ -565,9 +565,10 @@ int thr_write_keys(MI_SORT_PARAM *sort_param)
if (!mergebuf)
{
length=param->sort_buffer_length;
- while (length >= MIN_SORT_MEMORY && !mergebuf)
+ while (length >= MIN_SORT_MEMORY)
{
- mergebuf=my_malloc(length, MYF(0));
+ if ((mergebuf= my_malloc(length, MYF(0))))
+ break;
length=length*3/4;
}
if (!mergebuf)
@@ -904,6 +905,7 @@ merge_buffers(MI_SORT_PARAM *info, uint keys, IO_CACHE *from_file,
count=error=0;
maxcount=keys/((uint) (Tb-Fb) +1);
+ DBUG_ASSERT(maxcount > 0);
LINT_INIT(to_start_filepos);
if (to_file)
to_start_filepos=my_b_tell(to_file);