Я работаю над своим собственным механизмом хранения для MySQL.Пока этот механизм хранения работает надежно и корректно - но только для небольших (~ 100 МБ) таблиц ... Для больших таблиц я получаю ошибку сегментации, когда пытаюсь выполнить запрос с заказом по, поэтому что-то вроде этого будетпривести к segfault:
select * from item order by i_author;
Итак, я скомпилировал MySQL в режиме отладки и увидел, что в функции merge_buffers в filesort.cc:
/* The following will fire if there is not enough space in sort_buffer */
DBUG_ASSERT(maxcount!=0);
* 1006 произошла ошибка подтверждения.* Честно говоря, я понятия не имею, что я могу изменить в своем хранилище, чтобы эта ошибка исчезла.Сначала выглядело, как будто я должен изменить параметр конфигурации
sort_buffer_size - но даже установка этого значения выше размера таблицы действительно что-то меняет с этой ошибкой.
Кто-нибудь, кто знает какнаписать движки хранения MySQL есть идеи, как решить эту проблему?