mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Bug#12856915 VALGRIND FAILURE IN FILESORT/CREATE_SORT_INDEX
Suppress the known warnings generated by filesort(). The real fix belongs to worklog 1509: Pack values of non-sorted fields in the sort buffer (which is basically the same issue, but in an optimization context: We are writing the entire sort buffer to disk, including un-used space for varchar columns.)
This commit is contained in:
@ -791,3 +791,37 @@
|
|||||||
fun:fil_delete_tablespace
|
fun:fil_delete_tablespace
|
||||||
fun:row_drop_table_for_mysql
|
fun:row_drop_table_for_mysql
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
Bug#12856915 VALGRIND FAILURE IN FILESORT/CREATE_SORT_INDEX / one
|
||||||
|
Memcheck:Param
|
||||||
|
write(buf)
|
||||||
|
obj:*/libpthread*.so
|
||||||
|
fun:my_write
|
||||||
|
fun:my_b_flush_io_cache
|
||||||
|
fun:_my_b_write
|
||||||
|
fun:_ZL10write_keysP13st_sort_paramPPhjP11st_io_cacheS4_
|
||||||
|
fun:_ZL13find_all_keysP13st_sort_paramP10SQL_SELECTPPhP11st_io_cacheS6_S6_
|
||||||
|
fun:_Z8filesortP3THDP8st_tableP13st_sort_fieldjP10SQL_SELECTybPy
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
Bug#12856915 VALGRIND FAILURE IN FILESORT/CREATE_SORT_INDEX / two
|
||||||
|
Memcheck:Param
|
||||||
|
write(buf)
|
||||||
|
obj:*/libpthread*.so
|
||||||
|
fun:my_write
|
||||||
|
fun:my_b_flush_io_cache
|
||||||
|
fun:_Z15merge_many_buffP13st_sort_paramPhP10st_buffpekPjP11st_io_cache
|
||||||
|
fun:_Z8filesortP3THDP8st_tableP13st_sort_fieldjP10SQL_SELECTybPy
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
Bug#12856915 VALGRIND FAILURE IN FILESORT/CREATE_SORT_INDEX / three
|
||||||
|
Memcheck:Param
|
||||||
|
write(buf)
|
||||||
|
obj:*/libpthread*.so
|
||||||
|
fun:my_write
|
||||||
|
fun:my_b_flush_io_cache
|
||||||
|
fun:_Z8filesortP3THDP8st_tableP13st_sort_fieldjP10SQL_SELECTybPy
|
||||||
|
}
|
||||||
|
@ -959,21 +959,10 @@ static void make_sortkey(register SORTPARAM *param,
|
|||||||
if (addonf->null_bit && field->is_null())
|
if (addonf->null_bit && field->is_null())
|
||||||
{
|
{
|
||||||
nulls[addonf->null_offset]|= addonf->null_bit;
|
nulls[addonf->null_offset]|= addonf->null_bit;
|
||||||
#ifdef HAVE_purify
|
|
||||||
bzero(to, addonf->length);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
#ifdef HAVE_purify
|
|
||||||
uchar *end= field->pack(to, field->ptr);
|
|
||||||
uint length= (uint) ((to + addonf->length) - end);
|
|
||||||
DBUG_ASSERT((int) length >= 0);
|
|
||||||
if (length)
|
|
||||||
bzero(end, length);
|
|
||||||
#else
|
|
||||||
(void) field->pack(to, field->ptr);
|
(void) field->pack(to, field->ptr);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
to+= addonf->length;
|
to+= addonf->length;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user