お知らせ - 1系

1.20リリース - 2012/01/29

注意

このリリースは後方互換性がありません。アップグレードするにはデータベースをダンプ・リストアする必要があります。

このリリースでは、データベースの再作成が必要な変更点が2つあります。

  1. ストレージエンジン名を"groonga"から"mroonga"へ改名。

  2. MySQLのDATE、DATETIME、TIMESTAMP型にgroongaが提供する時間の値を使うようにした。

"CREATE TABLE" SQL内の"ENGINE=groonga"を変更するためにダンプしたデータベースを変更する必要があります。以下が更新手順です。

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

% mysqldump MY_MROONGA_DATABASE > database-groonga.dump

ダンプファイル中のストレージエンジンを変更します:

% sed -e 's/^) ENGINE=groonga/) ENGINE=mroonga/' database-groonga.dump > database-mroonga.dump

CREATE TABLEENGINE=groonga だけが ENGINE=mroonga に変更されていることを確認します。 @@ ... @@ 行に CREATE TABLE が含まれているかを確認します。この行が CREATE TABLE を含んでいたら、その変更はほぼ間違いなく CREATE TABLE 用の変更です:

% diff -up database-groonga.dump database-mroonga.dump
--- database-groonga.dump     2012-01-29 16:53:20.732624670 +0900
+++ database-mroonga.dump     2012-01-29 16:54:47.608420981 +0900
@@ -29,7 +29,7 @@ CREATE TABLE `diaries` (
   PRIMARY KEY (`id`),
   FULLTEXT KEY `title_index` (`title`),
   FULLTEXT KEY `body_index` (`body`)
-) ENGINE=groonga DEFAULT CHARSET=utf8;
+) ENGINE=mroonga DEFAULT CHARSET=utf8;
 /*!40101 SET character_set_client = @saved_cs_client */;

 --

既存のデータベースを削除します:

% mysql -u root -e 'DROP DATABASE MY_MROONGA_DATABASE'

"mroonga"ストレージエンジンにアップグレードします。Debian GNU/LinuxやUbuntuでは apt-get を使います。CentOSやFedoraでは yum を使います。

apt-get:

% sudo apt-get install -y mysql-server-mroonga

yum:

% sudo yum remove -y mysql-mroonga
% sudo yum install -y mysql-mroonga

注意

yum install の前に yum remove を実行することを忘れてはいけません。もし、 yum remove を実行することを忘れると、MySQLのシステムテーブルを壊してしまうかもしれません。

データベースを作り直します:

% mysql -u root -e 'CREATE DATABASE MY_MROONGA_DATABASE'

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

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

これで1.20を使うことができるようになりました。

改良

  • MySQL 5.5.20に対応。

  • MySQL 5.1.61に対応。

  • groonga 1.3.0以降を必須にした。

  • [非互換] ストレージエンジン名を"groonga"から"mroonga"に変更。

  • UTF8_BINコレーションに対応。 [#1150]

  • strict-aliasingの警告が出ないようにした。 [@issmさんが報告]

  • DECIMALに対応した。 [#1249] [@Kiskeさんが報告]

  • [storage mode] HA_KEYREAD_ONLY対応。インデックス内のカラム値のアクセスが高速になるはず。 [#1212]

  • [ストレージモード] float値のマルチカラムインデックスに対応。

  • [ストレージモード] double値のマルチカラムインデックスに対応。

  • [ストレージモード] enum型とset型をより適切なgroongaのデータ型に対応付けるようにした。

  • [ラッパーモード] REPAIR TABLE対応。

  • [ストレージモード] viewでの count(*) に対応。 [#1255] [Takahiro Nagaiさんが報告]

  • [非互換] DATE、DATETIME、TIMESTAMP型の値にgroongaが提供する時間の値を使うようにした。

修正

  • [debian] replacesとbreaksのmysql-server-groongaのバージョンを修正。 [@ytaka5さんが報告]

  • [doc] 実行結果が間違っていた問題を修正。 [Hidekazu Tanakaさんが報告]

  • [ラッパーモード] メモリリークを修正。 [montywiさんが報告]

感謝

  • @ytaka5さん

  • Hidekazu Tanakaさん

  • @issmさん

  • montywiさん

  • @Kiskeさん

1.11リリース - 2011/12/29

改良

  • MySQL 5.5.19に対応。

  • MySQL 5.6.4に対応。

  • MySQL 5.6.3対応をやめた。

  • Fedora 16に対応。

  • Fedora 15対応をやめた。

  • 警告strict-aliasingをでないようにした。 [groonga-dev,00659] [かずひこさんが報告]

  • utf8, binary, ascii, latin1, cp932, sjis, eucjpms, ujis, koi8r charsetに対応。 [#1160] [nobodyさんが報告]

  • [wrapper mode] 削除をロールバックした後に削除できなくなる問題を修正。 [#1224] [宍倉功一さんが報告]

修正

  • [storage mode] 主キーがないテーブルで全文検索すると結果が空になる問題を修正。 [#1193] [かずひこさんが報告]

  • コンパイラの-Wno-というフラグの検出に失敗していた問題を修正。 [Arnaud Fontaineさんがパッチを作成]

  • [wrapper mode] 全件カウント時にインデックスが使われない問題を修正。 [#1196][groonga-dev,0653] [金岡勲さんが報告]

感謝

  • かずひこさん

  • Arnaud Fontaineさん

  • 金岡勲さん

  • nobodyさん

  • 宍倉功一さん

1.0.1リリース - 2011/11/29

このリリースからプロジェクト名と製品名を「groognaストレージエンジン」から「mroonga」に変更しました。

MariaDB対応とバグ修正が主な変更点のリリース。

改良

  • 「groonga storage engine」から「mroonga」に改名。 #1170

  • groonga_libgroonga_version変数およびgroonga_version変数の追加。 #1158

  • information_schema.plugins.plugin_versionがmroongaのバージョンを返すようにした。 #1157

  • groonga_log_file変数の追加。 #1178 [nobodyさんが提案]

  • FLUSH STATUSがgroonga_*ステータス変数をリセットするようにした。 #1166 [かずひこさんが報告]

  • TRUNCATE TABLEに対応。 #1151 [Takahiro Nagaiさんが提案]

  • ALTER TABLEに対応。 #1168

  • MariaDB 5.2.9に対応。 #1152 [Kazuhikoさんが報告]

  • MariaDB 5.3.2-betaに対応。 #1152 [かずひこさんが報告]

  • [rpm] ドキュメントのパッケージを分離。

  • 文字列のシステム変数のメモリ確保方法を改良。

  • PLUGIN_LICENSE_GPLを使うようにした。 [Kazuhikoさんが提案]

  • MeCab関連の設定を削除。

  • FOUND_ROWS()とSQL_CALC_FOUND_ROWSに対応。 #1163 [Horikoshi Yukiさんが報告]

  • '-'を含むテーブル名に対応。 #1165 [nobodyさんが報告]

  • MySQL 5.1上でテーブルを作りなおさないインデックス変更に対応。

  • [deb] i386対応。

  • [rpm] i386対応。

修正

  • [ストレージモード] TEXT型に対するREPLACE INTOが動作しないバグの修正。 #1153 [Kazuhikoさんが報告]

  • [ラッパーモード] LOCK TABLE内のINSERTがInnoDBで動かないバグの修正。 #1154 [Kazuhikoさんが報告]

  • ORDERとLIMITの両方を使うと結果が正しくないバグの修正。 #1161 [Horikoshi Yukiさんが報告]

  • FORCE INDEXで存在しないキーを指定するクラッシュするバグを修正。 #1181 [Takahiro Nagaiさんが報告]

感謝

  • かずひこさん

  • Horikoshi Yukiさん

  • nobodyさん

  • Takahiro Nagaiさん

1.0.1リリース - 2011/10/29

位置情報検索の対応を強化とストレージモードでの動的なインデックス変更の対応強化が目玉のリリース。

改良

  • [ストレージモード][ラッパーモード] flush tables によるデータベースの再オープンに対応。

  • [ラッパーモード] 位置情報インデックスに対応。(ただし、カラムに保存できる型はPointのみ対応。インデックスを利用した位置検索はMBRContainsのみ対応。)

  • [ベンチマーク] groongaのデータベースには実際に書き込むかどうかを指定する groonga_dry_write 変数の追加。ベンチマーク時などボトルネック処理の確認用。

  • CentOS 6用のインストールドキュメントにMySQLのバージョン番号を追加。 [@yoshi_kenさんが提案]

  • [位置情報検索] 不必要な処理をなるべくしないようにして高速化。

  • mysql_configがfast mutexesを有効にしていると報告しても、それを無視する --disable-fast-mutexes configureオプションを追加。

  • [ストレージモード] create index に対応。

  • [ストレージモード] drop index に対応。

  • [ストレージモード] 全文検索用のマルチカラムインデックスに対応。

  • D プラグマに対応。

  • MySQL 5.5.17に対応。

  • MySQL 5.6.3-m6に対応。

  • groonga 1.2.7に対応。(1.2.6以下のサポートを削除。)

  • Ubuntu 11.10 Oneiric Ocelotに対応。

修正

  • booleanモードでクエリの先頭に + を指定すると何もヒットしなくなる問題を修正。 [西山はじめさんが報告]

  • [Fedora] パッケージの依存関係を修正。 [Takahiro Nagaiさんが報告]

  • [Fedora] プラグインをロードするとシンボルが見つからずエラーになる問題を修正。 [Takahiro Nagaiさんが報告]

  • [ストレージモード] マルチカラムインデックスに varchar を使うとインデックスが正常に作成されない問題を修正。 #1143 [Takahiro Nagaiさんが報告]

感謝

  • @yoshi_kenさん

  • 西山はじめさん

  • Takahiro Nagaiさん

1.0.0 リリース - 2011/09/29

初回リリースから約1年経って、初のメジャーリリース!

改良

  • [ラッパーモード] drop index対応。 #1040

  • [ストレージモード] GEOMETRY対応。(ただし、カラムに保存できる型はPointのみ対応。インデックスを利用した位置検索はMBRContainsのみ対応。) #1041

  • [ストレージモード] マルチカラムインデックスに対応。 #455

  • [ストレージモード][ラッパーモード] 全文検索用パーサー(トークナイザー)のカスタマイズに対応。 #592

  • configureにデフォルトの全文検索用パーサーを指定する --with-default-parser オプションを追加。

  • 実行時にデフォルトの全文検索用パーサーを指定する groonga_default_parser 変数を追加。

  • [ラッパーモード] ストレージモードで実装している orderlimit が指定された場合に必要のないレコードを返さないようにする高速化に対応。

  • [ストレージモード] 1つの select 中での複数の match against 指定に対応。

  • [非互換][ストレージモード] _score カラムの削除。代わりにMySQL標準の書き方である match against を使ってください。

  • [ラッパーモード] プライマリキーの更新に対応。

  • MySQL 5.5.16に対応。

  • CentOS 6に対応。

  • groonga 1.2.6に対応。(1.2.5以下のサポートを削除。)

修正

  • [Ubuntu] Lucid上でインストールエラーが発生する問題を修正。 (Isao Sugimotoさんが報告)

  • auto_incrementを使った場合にテキストデータが壊れる問題を修正。 (@zaubermaerchenさんが報告) #1072

  • [Ubuntu] Lucid上でテーブルを削除するとクラッシュする問題を修正。 #1063 (Isao Sugimotoさんが報告)

  • MySQLと同じビルドオプションを使っていなかった問題を修正。 GitHub#4 (groongaのGitHubのIssues) (Tomohiro MITSUMUNEさんが報告)

感謝

  • Isao Sugimotoさん

  • @zaubermaerchenさん

  • Tomohiro MITSUMUNEさん