Mroongaブログ

2012-11-29

今日は groonga勉強会「全文検索エンジンgroongaを囲む夕べ 3」 開催当日ですね。

mroonga 2.09リリース

mroonga 2.09 をリリースしました!

インストール/アップグレード方法

それぞれの環境毎のインストール方法: インストール

注意: 今回のリリースには後方互換性のない変更が TIMESTAMP 型の値と主キーにchar(N)を使った場合にあります。

このリリースには TIMESTAMP 型の値に関して後方互換性のない変更があります。TIMESTAMP 型ではUTCタイムゾーンを保持するように変更しました。 もし TIMESTAMP 型のカラムを(UTCタイムゾーンでなく)使っているテーブルがあれば、データベースを再作成 (データベースのダンプおよびリストアを行ってください。

char(N)を主キーとして使用しているテーブルがあるなら、インデックスを再作成してください。

mroongaを使っているデータベースをダンプします:

% mysqldump MY_MROONGA_DATABASE > database-mroonga.dump

修正したダンプファイルを使ってデータベースを復旧します:

% mysql -u root MY_MROONGA_DATABASE < database-mroonga.dump

主キーにchar(N)を使っている場合にはインデックスをを作り直します:

mysql> ALTER TABLE table_name DROP PRIMARY KEY;
mysql> ALTER TABLE table_name ADD PRIMARY KEY(column_name);

以前のバージョンからアップグレードする場合には、アップグレード手順に注意が必要です。現在お使いのバージョンごとのアップグレード手順を参照してください。

1.20より前のバージョンからアップグレードする場合は 1.20リリース 2012/01/29 にある手順を使ってください。

1.20からアップグレードする場合は 2.00リリース 2012/02/29 にある手順を使ってください。

2.00か2.01からアップグレードする場合は、 2.02リリース 2012/04/29 にある手順でパッケージ署名用の新しい鍵をインポートしてください。

2.00以降でストレージモードにてマルチカラムインデックスを使っている場合は 2.02リリース 2012/04/29 にある手順でインデックスを作り直してください。

2.04以降でストレージモードにてSETカラムもしくは要素数が256より少ないENUMを使用している場合は、 2.05リリース 2012/07/29 にある手順でデータベースを再作成してください。

今回のリリースの主なトピックは以下の通りです。

  • ラッパーモードでのlast_insert_id()関数のサポート
  • 依存するMySQLバージョンを明示的に指定

char(N)関連の不具合をいくつか修正していますので、該当される方はアップグレードをお勧めします。

ラッパーモードでのlast_insert_id()関数のサポート

今回のリリースでは、last_insert_id()関数をラッパーモードでもサポートしました。

これまで、last_insert_id()関数自体はラッパーモードでも使うことはできましたが、ストレージモードとは異なり、値として0を返す挙動を示すなど正しい値を取得することができないという問題がありました。

last_insert_id()をラッパーモードでも機能するように修正したことで、mroongaを使ったアプリケーションを開発するうえで不便な点を解消しています。

依存するMySQLバージョンを明示的に指定

mroongaにはパッケージのビルドに使用したMySQLとバージョンを揃える必要があり、毎月定期的にリリースしているものの、最新リリース以降にMySQLのパッケージが更新されるとバージョンの不一致によりmroongaが動作しなくなるという既知の問題がありました。

その場合、MySQLのバージョンをそのままにして使うか、もしくはmroongaをソースコードからご利用の環境でビルドする必要がありました。

今回のリリースからmroongaで使用するMySQLのバージョンをパッケージのリリース時点のMySQLの最新バージョンに限定するようにしました。

mroongaをパッケージで利用している場合、MySQLが更新されるタイミングによっては常に最新のMySQLと一緒に使うことはできませんが、その場合であっても次のリリースのタイミングでMySQLの対応バージョンを更新します。

さいごに

2.08からの詳細な変更点は 2.09リリース 2012/11/29 を確認してください。

それでは、mroongaでガンガン検索してください!