Pull to refresh
14
0

User

Send message

MySQL: Поиск по FULLTEXT индексу вешает базу. Решение проблемы

Reading time1 min
Views887
Ловил несколько месяцев назад один трудноуловимый баг с поиском по базе. А сегодня, прочитав топик HTTP, RFC 3986 и браузеры, решил рассказать общественности, вдруг у кого-то тоже всплывет.

Проблема
Есть сайт в UTF8. Есть MySQL база в UTF8 и FULLTEXT индексом. Поиск по нему идет в BOOLEAN MODE. При определенном виде запросов БД перестаёт отвечать. Причем только для одной БД в рамках сервера MySQL. Нормальный перезапуск демона не срабатывает, получается ребутнуть только жестким mysql -9.
Замечена такая неприятность на MySQL 5.0.51a и выше

Почему?
А дело всё в том, что это какой-то странный баг самого MySQL и решать они его почему-то не торопятся. Оказывается, если фраза для поиска будет в cp1251 кодировке, а база в UTF8, то на N-ном таком запросе БД повиснет в состоянии FULLTEXT Initialization, причем залочит все таблицы, а не только одну с индексом. Проявляется не с первого запроса, но раз-два в день может случаться.

Лекарство
Перед подстановкой поисковой фразы в запрос переконвертируем её в UTF8, если надо.

Кто виноват?
А вот тут я расскажу, при чем тут топик, который мне напомнил эту историю.
Я поддерживаю один сайт, как хобби. С сайта можно поставить поисковый плагин к браузеру в формате OpenSearch. Как выяснилось, браузеры некоторых пользователей при поиске через этот плагин почему-то думают, что сайту нужна Windows-1251 кодировка. Откуда у них такая уверенность, я не знаю. Возможно Firefox запомнил, что когда-то давно сайт был в Windows кодировке. Возможно на это влияет отсутствие кодировки в коде плагина. А может просто магнитные бури, проблема-то появлялась раз-два в день :)

Ссылка на багрепорт
bugs.mysql.com/bug.php?id=37067
Total votes 22: ↑21 and ↓1+20
Comments4

Тёмная тема для Eclipse+PDT (ZendStudio for Eclipse)

Reading time5 min
Views2.9K

Преамбула


Когда-то давно, работая еще в ZendStudio 5.0, а потом и 5.5 нашлась красивая темная тема для подсветки кода. За пару лет работы я так привык к ней, что пересев на Eclipse+PDT, глаза были против белого фона с зелеными буковками.
Поиски в интернете такой же темы для Eclipse, поиски хоть какой-нибудь тёмной темы а затем и поиски вообще какой-либо темы результата не дали. Оказалось (о ужас!), что Eclipse не поддерживает смену готовых тем.

Поиски хотя бы какой-то возможности кастомизации Эклипса на хабре вывели на топик хабраюзера olegchir. Вдохновленный идеей самому сделать аналог Parabox Style для Eclipse, я принялся за работу

Что из этого получилось, можно глянуть на скриншотах ниже:


Еще скриншоты и инструкция
Total votes 35: ↑28 and ↓7+21
Comments18

Information

Rating
Does not participate
Registered
Activity