まめ畑

ゆるゆると書いていきます

MysqlftppcでICUを使うとクラッシュする

最新版が公開されました
mysql-ftppcの最新版が更新されてました - まめ畑


mysqlftppc-mecab/bigramを使用して全文検索を行うためにインサートを大量に行なったり、selectを行う際にmysqlftppcにICUライブラリを使用したUnicodeの正規化を行っているとMySQLがクラッシュしてしまいます。
その場合は、正規化を行わないようにすることで回避出来るのですが、根本的な解決ではないので色々調べていたら解決方法がありました。
mysqlftppcのUNICODE正規化のこと。 - 浅倉卓司@blog風味? - ひとりでもグループ

現在のmysqlftppcの最新版は1.6なのですが、SVNの方にはさらに新しいコードがコミットされていました。問題のソースを新しいものに置き換えることで正規化時にもクラッシュしなくなりました。

wget http://mysqlftppc.svn.sourceforge.net/viewvc/mysqlftppc/mecab/branches/1.x/ftnorm.c?revision=144
wget http://mysqlftppc.svn.sourceforge.net/viewvc/mysqlftppc/mecab/branches/1.x/ftnorm.h?revision=144

#ダウンロードしたファイルをそれぞれ、ftnorm.c/ftnorm.hとリネームし、既存のコードと置き換えます
  • mysqlftppc-bigram
wget http://mysqlftppc.svn.sourceforge.net/viewvc/mysqlftppc/bigram/branches/1.x/ftnorm.c?revision=127
wget http://mysqlftppc.svn.sourceforge.net/viewvc/mysqlftppc/bigram/branches/1.x/ftnorm.h?revision=127

#ダウンロードしたファイルをそれぞれ、ftnorm.c/ftnorm.hとリネームし、既存のコードと置き換えます