summaryrefslogtreecommitdiff
path: root/sql/filesort.cc
diff options
context:
space:
mode:
authorTor Didriksen <tor.didriksen@oracle.com>2012-07-27 09:13:10 +0200
committerTor Didriksen <tor.didriksen@oracle.com>2012-07-27 09:13:10 +0200
commit611484f9a5bdbf955cf5e92a451d9b6d4315c151 (patch)
tree92acf4b14990b54a70c73469159e6b9732444f5a /sql/filesort.cc
parent5ecb7db4f93011e403ebbc18fe4357a0a963679c (diff)
downloadmariadb-git-611484f9a5bdbf955cf5e92a451d9b6d4315c151.tar.gz
Bug#14111180 HANDLE_FATAL_SIGNAL IN PTR_COMPARE_1 / QUEUE_INSERT
Space available for merging was calculated incorrectly.
Diffstat (limited to 'sql/filesort.cc')
-rw-r--r--sql/filesort.cc5
1 files changed, 2 insertions, 3 deletions
diff --git a/sql/filesort.cc b/sql/filesort.cc
index e6842cec4a2..3a2102fa62b 100644
--- a/sql/filesort.cc
+++ b/sql/filesort.cc
@@ -1,5 +1,5 @@
/*
- Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -295,8 +295,7 @@ ha_rows filesort(THD *thd, TABLE *table, SORT_FIELD *sortorder, uint s_length,
Use also the space previously used by string pointers in sort_buffer
for temporary key storage.
*/
- param.keys=((param.keys*(param.rec_length+sizeof(char*))) /
- param.rec_length-1);
+ param.keys= table_sort.sort_keys_size / param.rec_length;
maxbuffer--; // Offset from 0
if (merge_many_buff(&param,(uchar*) sort_keys,buffpek,&maxbuffer,
&tempfile))