mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Bug#14542543 FIX BUG #12694872 IN 5.5
Bug#14530242 CRASH / MEMORY CORRUPTION IN FILESORT_BUFFER::GET_RECORD_BUFFER WITH MYISAM This is a backport of Bug#12694872 - VALGRIND: 18,816 BYTES IN 196 BLOCKS ARE DEFINITELY LOST Bug#13340270: assertion table->sort.record_pointers == __null Bug#14536113 CRASH IN CLOSEFRM (TABLE.CC) OR UNPACK (FIELD.H) ON SUBQUERY WITH MYISAM TABLES Also: removed and re-added test files with file-ids from trunk.
This commit is contained in:
@ -74,6 +74,7 @@
|
||||
#include "records.h" // init_read_record, end_read_record
|
||||
#include <m_ctype.h>
|
||||
#include "sql_select.h"
|
||||
#include "filesort.h" // filesort_free_buffers
|
||||
|
||||
#ifndef EXTRA_DEBUG
|
||||
#define test_rb_tree(A,B) {}
|
||||
@ -1246,7 +1247,8 @@ int QUICK_INDEX_MERGE_SELECT::init()
|
||||
int QUICK_INDEX_MERGE_SELECT::reset()
|
||||
{
|
||||
DBUG_ENTER("QUICK_INDEX_MERGE_SELECT::reset");
|
||||
DBUG_RETURN(read_keys_and_merge());
|
||||
const int retval= read_keys_and_merge();
|
||||
DBUG_RETURN(retval);
|
||||
}
|
||||
|
||||
bool
|
||||
@ -8295,7 +8297,10 @@ int QUICK_INDEX_MERGE_SELECT::read_keys_and_merge()
|
||||
thd->variables.sortbuff_size);
|
||||
}
|
||||
else
|
||||
{
|
||||
unique->reset();
|
||||
filesort_free_buffers(head, false);
|
||||
}
|
||||
|
||||
DBUG_ASSERT(file->ref_length == unique->get_size());
|
||||
DBUG_ASSERT(thd->variables.sortbuff_size == unique->get_max_in_memory_size());
|
||||
|
Reference in New Issue
Block a user