News - 1.x¶
1.20リリース - 2012/01/29¶
ご用心
このリリースは後方互換性がありません。アップグレードするにはデータベースをダンプ・リストアする必要があります。
このリリースでは、データベースの再作成が必要な変更点が2つあります。
- ストレージエンジン名を"groonga"から"mroonga"へ改名。
- 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 TABLE
の ENGINE=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 変数を追加。
- [ラッパーモード] ストレージモードで実装している order と limit が指定された場合に必要のないレコードを返さないようにする高速化に対応。
- [ストレージモード] 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さん