お知らせ¶
3.12リリース - 2014/01/29¶
改良¶
システム変数 mroonga_lock_timeout を追加しました。この変更で、Groongaのロックタイムアウトを動的に変更できるようになりました。
Tritonnの"W"プラグマとの互換性を改善しました。以前のバージョンでは、Mroongaは省略したセクションの重みを0としていました。この変更で、省略時 のセクションの重みを1にしています。これはTritonnと同じ振舞いです。[#2152] [丸山さんがパッチ提供]
修正¶
SELECT MATCH AGAINST ... クエリ実行中にFLUSH TABLESを実行するとクラッシュする不具合を修正しました。 [#2137] [yokuさんが報告]
"W"プラグマの実装の誤りを修正しました。1オリジンに修正しています。以前のバージョンでは、0オリジンとして実装されていましたが、これはTritonnとは互換性がありませんでした。これは非互換な変更なので、既存の"W"プラグマを使ったクエリを確認してください。 [#2151]
空のレコードを否定で検索すると重複した結果が返ってくる不具合を修正しました。 [#2215] [groonga-dev,02052] [村上さんが報告]
感謝¶
yokuさん
村上さん
3.11リリース - 2013/12/29¶
改良¶
[deb] Debian 6.0 (squeeze)のサポートを終了しました。
[deb] Ubuntu 10.04 (lucid)のサポートを終了しました。
[ストレージモード] "MATCH AGAINST AND INT_COLUMN OPERATOR XXX ORDER BY LIMIT"というクエリでも最適化が効くようになりました。"OPERATOR"でサポートしている演算子は'<'、'>'、'<='と'>='です。 [groonga-dev,01940] [堀越さんが報告]
[ストレージモード] "MATCH AGAINST AND DATETIME_COLUMN OPERATOR XXX ORDER BY LIMIT"というクエリでも最適化が効くようになりました。"OPERATOR"でサポートしている演算子は'<'、'>'、'<='と'>='です。[groonga-dev,01940] [yokuさんが提案]
[ストレージモード] "MATCH AGAINST AND TIME_COLUMN OPERATOR XXX ORDER BY LIMIT"というクエリでも最適化が効くようになりました。"OPERATOR"でサポートしている演算子は'<'、'>'、'<='と'>='です。
[doc] 'ユーザーガイド'を'チュートリアルに変更しました。
[doc] 'FAQ'のセクションをドキュメントへ追加しました。
[doc] 全文検索を独立したセクションにしました。
[ストレージモード] 'BETWEEN'をINT,DATETIME,TIME型のカラムに対してサポートしました。Groonga 3.1.1以降が必要であることに注意してください。 [groonga-dev,01943] [yokuさんが提案]
MariaDB 10.0.7 (まだリリースされていないバージョン) をサポートしました。[#1964]
Microsoft Visual Studio 2008以前でのビルドサポートを終了しました。
Fedora 19対応を終了しました。
Fedora 20に対応しました。
CentOS 5でmysql-mroongaパッケージの提供を終了しました。これからはmysql55-mroongaパッケージを使ってください。
修正¶
[ストレージモード] ダンプやリストア中の'LOCK TABLE .. READ'でMySQLがクラッシュする不具合を修正しました。[#2098]
"*D-"プラグマの挙動を間違って実装していたのを修正しました。 [#2099]
全文検索時のメモリリークを修正しました。"MATCH AGAINST ... ORDER BY LIMIT ..."といったクエリがこの影響を受けます。 [#2144]
感謝¶
Horikoshi Yukiさん
yokuさん
3.10リリース - 2013/11/29¶
改良¶
MariaDB 10.0.6に対応しました。
[プラグイン][mroonga_snippet] サポートしていない文字コードをエラー時に 報告するようにしました。
修正¶
Disk Sweep Multi Range Read(DS-MRR)と呼ばれる最適化に関する問題を修正しまし た。この問題ではクエリの "WHERE IN (...)" という条件節でエラーを引き 起こしていました。[木村さんが報告]
MariaDBの開発版(trunk)でセグメンテーションフォルトが発生していた問題を 修正しました。
位置情報を保存するカラムが'REPLACE INTO'や'INSERT ON DUPLICATE KEY UPDATE'クエリで適切に更新できない不具合を修正しました。
Windowsでのコンパイラの警告を修正しました。[#1964]
ベクターカラムが'REPLACE INTO'クエリで適切に更新されない不具合を修正し ました。[#2064]
[mariadb10.0.5] ソースコードのディレクトリ構造が変更されたとによるビルドエラーを修正 しました。[#2066]
"_i"といった短いカラム名が特別なカラムである"_id"として扱われてし まう不具合を修正しました。[Alexander Barkovさんが報告]
感謝¶
木村さん
Alexander Barkovさん
3.09リリース - 2013/10/29¶
改良¶
Ubuntu 13.10 (Saucy Salamander)に対応しました。
[rpm][centos] CentOS 5でMySQL 5.5向けのRPMパッケージをサポートしました。mysql55-mroongaというパッケージを提供します。 [groonga-dev,01869] [WINGさんが報告]
修正¶
[ラッパーモード] メモリリークを修正しました。これはラッパーモードのハンドラが排他制御の後始末を適切に行なっていないことによるものです。ストレージエンジンとしてMyISAMを使用していると影響を受けることが知られています。
[ラッパーモード] MySQL 5.6でFORCE INDEXを使うとクラッシュする不具合を修正しました。 [#2015] [groonga-dev,01867] [安田さんが報告]
感謝¶
WINGさん
安田一郎さん
3.08リリース - 2013/9/29¶
改良¶
[doc] ラッパーモード特有の事項に関する追記をしました。[groonga-dev,01747] [磯部和広さんが報告]
[mroonga_escape] mroonga_escapeをUDFの引数として使えるようにしました。[#1923] [Tomoatsu Shimadaさんが報告]
[doc] "ソースコードを表示"のラベルに言語の注記を追加しました。[groonga-dev,01747] [磯部和広さんが報告]
[ラッパーモード] REPAIR TABLEをgroongaのテーブルが壊れていても実行できるようにしました。[groonga-dev,01540] [村上さんが提案]
configureを使ったMariaDB 10.xとのビルドをできるようにしました。 [groonga-dev,01727] [WINGさんが報告]
修正¶
mroongaがアップグレード時に意図せず削除される不具合を修正しました。[#1918][@ceekzさんが報告]
Windows環境でinstall pluginするとmysqld 32bit実行バイナリがクラッシュする不具合を修正しました。
[ストレージ][mariadb] mroonga_log_fileのメモリリークを修正しました。このメモリリークはログファイル名を変更したときに発生していました。
感謝¶
磯部和広さん
Tomoatsu Shimadaさん
@ceekzさん
村上さん
WINGさん
3.07リリース - 2013/8/29¶
改良¶
BOOLEAN MODEのクエリで特別な文字をエスケープする mroonga_escape を追加しました。 [groonga-dev,01576] [田辺さんが提案]
ORDER BY LIMIT の最適化でWHERE句にVARCHARの等価比較がある場合をサポートしました。
MariaDB 5.5.32 timestampをサポートしました。
MariaDB 10.0.4をサポートしました。[WINGさんが報告] [yoku tsさんが報告]
修正¶
[mariadb] Windowsでプラグインをインストールするときにクラッシュする不具合を修正しました。
[ストレージモード][mysql55] インデックスを含むカラムの変更に失敗する不具合を修正しました。[groonga-talk] [Changさんが報告] この不具合は例えば FULLTEXTINDEX (column1) が ALTER TABLE table1 CHANGE column1 column1 new_column_definition などとして変更された場合に影響します。
[doc][ラッパーモード] ORDER BY LIMITの最適化の説明が不正確だったのを修正しました。
[ストレージモード] インデックス化されていないVARCHARに対しては ORDERBY LIMITを無効にしました。インデックスがないとCOLLATIONを正しく扱えないためです。
MySQL 5.6.13で内部的に使っているフラグが未設定なことによりクラッシュする不具合を修正しました。
感謝¶
田辺公平さん
Changさん
WINGさん
yoku tsさん
3.06リリース - 2013/7/29¶
改良¶
mroonga_action_on_fulltext_query_error セッション変数を追加しました。これは不正なエスケープに対するエラーを報告する方法に影響します。 [groonga-dev,01529] [田辺公平さんが報告]
行カウントの最適化がMySQL 5.5やMariaDB 10.xのラッパーモードでも有効になりました。 [#1841] [groonga-dev,01523] [村上さんが報告] この最適化はストレージエンジンがトランザクションをサポートしている場合には動作しません。
Fedora 19に対応しました。
Fedora 18対応をやめました。
感謝¶
田辺公平さん
村上さん
3.05リリース - 2013/6/29¶
改良¶
切り詰められた日付データに対する警告を表示するようにしました。 [#1768] [Y.Kentaroさんが提案]
MySQL 5.6.12に対応しました。 [WINGさんが報告]
- Added documentation about troubleshooting.
fast mutexesオプションをビルド設定で有効にできるようにしました。 [#1760][WINGさんが報告]
修正¶
3カラム以上のセクションに対するWプラグマが動作しない不具合を修正しました。 [#1770] [shizuinさんが報告]
"-O2" 指定ありだとビルドエラーになる問題を修正しました。 [Y.Kentaroさんが報告]
normalizers/mysql を再登録しようとするとメモリリークする問題を修正しました。
DISABLE KEYS 有効時に更新するとクラッシュする問題を修正しました。 [#1759]
[doc] ラッパーモードで最適化の状態に関する翻訳誤りを修正しました。 [YOSHIDA Mitsuoさんが報告]
where句なしで ORDER BY ... LIMIT を指定するとクラッシュする不具合を修正しました。[@memorycraftさんが報告]
LOCK TABLES と ENABLE KEYS を同時に使うと検索データとしてヒットしない不具合を修正しました。
感謝¶
Y.Kentaroさん
WINGさん
shizuinさん
YOSHIDA Mitsuoさん
@memorycraftさん
3.04リリース - 2013/5/29¶
改良¶
MariaDB 10.0.2のサポートを改善しました。 [#1729]
[doc] サポートしているSQLコマンドのリストを更新しました。 [Y.Kentaroさんが報告]
Ubuntu 11.10 (Oneiric Ocelot)のサポートをやめました。
MariaDBパッケージへのmroonga組み込みをサポートしました。 [#1691]
[ラッパーモード] カラムコメントをパースするのをやめました。 [Y.Kentaroさんが報告]
通常のカラムコメントのバリデーションをしないようにしました。 [Y.Kentaroさんが報告]
libmysqlservices.aを含むディレクトリの検出方法を改善しました。 [Y.Kentaroさんが報告]
テーブル/インデックスコメントをフリースタイルで書けるように改善しました。[Y.Kentaroさんが提案]
"W"プラグマをサポートしました。この機能は Tritonn に由来します。
データベースを指定することなく mroonga_command() を使えるようにしました。[Y.Kentaroさんが報告]
auto_increment の値をテーブルを作るときにも参照するように改善しました。 [#1741]
auto_increment の値を直近のレコードが削除されてもそのまま保持するように改善しました。 [#1738]
[doc] Windowsでのmroongaのインストール手順を追加しました。
初期セットアップのためのインストール用SQLを追加しました。 [groonga-dev,01434] [かずひこさんが提案]
Debian 8.0 (jessie)に対応しました。
修正¶
空の検索クエリがSEGVを引き起す不具合を修正しました。 [groonga-dev,01346][中井さんが報告]
ディレクトリの存在に依存したパッケージのビルドエラーを修正しました。 [groonga-dev,01335] [WINGさんが報告] [yoku tsさんがパッチ提供]
groonga-normalizer-mysql パッケージへのビルド時の依存関係の抜けを修正しました。[Y.Kentaroさんがパッチ提供]
my.cnfの Mroonga_log_level の値が設定されない不具合を修正しました。[groonga-dev,01379] [磯部和広さんが報告]
デフォルトのトークナイザーが正しく開放されずメモリリークする不具合を修正しました。
[ラッパーモード] ストレージエンジン名なしでALTER TABLEによりコメントを変更するとテーブルが消失する不具合を修正しました。 [Y.Kentaroさんが報告]
感謝¶
Y.Kentaroさん
中井さん
WINGさん
yoku tsさん
磯部和広さん
かずひこさん
3.03リリース - 2013/4/29¶
改良¶
[doc] テーブルの制限に関するドキュメントを追加した。 [groonga-dev,01281] [磯部和広さんが報告]
[doc] mroonga_command のドキュメントを追加した。
コメントのテーブルのパラメータとして default_tokenizer をサポートした。
既存のテーブルを "FULLTEXT INDEX"だけでなく"INDEX"の対象となる語彙表として使えるようにした。
MySQL 5.6.11をサポートした。
マルチカラムインデックスでの照合順序をサポートした。 [groonga-dev,01302] [田辺公平さんが報告]
groongaの前方一致検索クエリの記法 "XXX*" 向けにパーサーを無効にした状態でのFULLTEXTインデックスをサポートした。
[cmake] MySQL 5.5.xのビルド対応をやめた。
FULLTEXT INDEXに対するノーマライザー指定をサポートした。コメントでノーマライザーを指定できます。指定方法は FULLTEXT INDEX (column) COMMENT 'normalizer "NormalizerXXX"' です。[groonga-dev:01303] [田辺公平さんが提案]
Ubuntu 13.04 Raring Ringtailをサポートした。
修正¶
[ストレージモード] 保存した値を検索できないという不具合を修正した。これは数値が意図しないキャストにより丸められていたためです。[#1696] [groonga-dev,01266] [smztksさんが報告]
[ラッパーモード] 複数のMATCH AGAINSTを使うと正しくないカウント数を返す不具合を修正した。[#1702] [groonga-dev,01279] [古田さんが報告]
[doc] mroonga_log_level が無視される不具合を修正した。 [groonga-dev,01290] [磯部和広さんが報告]
mroongaが内部で使用している一時オブジェクトを開放する際にクラッシュしてしまう不具合を修正した。
[doc] ストレージエンジンの動作モードの誤字と不明瞭な説明文を修正した。 [鈴木一郎さんが報告]
[mysql55] 一行でまとめてインデックスの再作成を行うとクラッシュする不具合を修正した。[groonga-dev,01319] [田辺公平さんが報告]
感謝¶
smztksさん
古田さん
磯部和広さん
田辺公平さん
鈴木一郎さん
3.02リリース - 2013/3/29¶
改良¶
LinuxでMariaDB 10.0へバンドルできるようにした。 [#1644]
[doc] mroonga_log_level に指定できる値のドキュメントをリファレンスマニュアルにも追加した。[groonga-dev,01255] [磯部和広さんが報告]
[実験的] mroonga_command というUDFを追加しました。 [#1643] このUDFを使うと groonga に直接クエリを送れるようになります。
修正¶
複合インデックスを使用している場合にWHERE節の表現が動作しない不具合を修正しました。 [groonga-dev,01253] [#1670] [堀越さんが報告]
[ラッパーモード] key オブジェクトが開放されるタイミングが早すぎて不正となるのを修正した。この不具合は DISABLE KEYS/ENABLE KEYSによってインデックスの再作成を行ったときに発生することがあります。 [#1671] [keigo itoさんが報告]
感謝¶
磯部和広さん
Horikoshi Yukiさん
keigo itoさん
3.01リリース - 2013/2/28¶
改良¶
utf8_unicode_ci と utf8mb4_unicode_ci をサポート。 groonga-normalizer-mysql >= 1.0.1が必須です。
[実験的] ストレージモードでFOREIGN KEY制約をサポート。 [#1612]
修正¶
特定の範囲のレコードで検索結果が0件になることがあるというgroongaに由来する不具合を修正した。 [groonga-dev,01192] [b senbokuさんが報告]
Mac OS X向けにデフォルトではDTraceを無効にした。
感謝¶
b senbokuさん
3.00リリース - 2013/2/9¶
改良¶
Fedora 18に対応。
Fedora 17対応をやめた。
utf8_general_ci と utf8mb4_generic_ci 互換なノーマライザーをサポートした。
[rpm][centos] CentOS 5にてMySQL 5.6.10に対応した。
修正¶
[ストレージモード] ユニークキーとなるカラムに対し大文字小文字混在のキーワードではマッチしないgroonga由来の不具合を修正した。 [groonga-dev,01187] [田辺公平さんが報告]
感謝¶
田辺公平さん
2.10リリース - 2012/12/29¶
改良¶
システムと異なる文字コードのテーブルでもENABLE KEYS/DISABLE KEYSを使えるようにした。 [@kokoronaviさんが報告]
キーが重複している場合、エラーメッセージにそのキーの値を表示するように改善した。
MySQL 5.6.9-rcに対応。 [#1547] [#1548] [wingさんが報告]
[ストレージモード] GROUP BY をインデックスを使っての検索できるようにした。この変更で GROUP BY を使った検索速度を改善できます。
Ubuntu 11.04 (Natty Narwhal)のサポートを終了した。
修正¶
[rpm][centos] CentOS6でMySQL 5.1.66-2を使うように修正した。[宮脇さんが報告]
MATCH AGAINST を INNER JOIN と一緒に使うとエラーになる不具合を修正した。 [大城さんが報告]
感謝¶
@kokoronaviさん
宮脇さん
wingさん
大城さん
2.09リリース - 2012/11/29¶
ご用心
今回のリリースには後方互換性のない変更が 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
インデックスを作り直します:
mysql> ALTER TABLE table_name DROP PRIMARY KEY;
mysql> ALTER TABLE table_name ADD PRIMARY KEY(column_name);
改良¶
[rpm][centos] CentOS 5にてMySQL 5.5.28に対応。
[rpm][centos] CentOS 6にてMySQL 5.1.61に対応。
[ラッパーモード] last_insert_id()関数をサポートした。[#1540] [@soundkitchenさんが報告]
修正¶
[mysql51] utf8mb4の存在チェックでクラッシュする不具合を修正。MySQL 5.1にはutf8mb4がないのが原因でした。 [groonga-dev,01069] [Reported by wakisuke]
[ストレージモード] 検索でマッチしているのに該当データを削除できない問題を修正した。 [#1533] [@HANZUBONさんが報告]
主キーのインデックスがchar(N)のとき検索できないことがあるのを修正。この不具合はchar(N)に設定した値がNよりも短いか末尾に空白がある場合に発現します。この修正によりインデックスの再構築が必要になります。
char(N)に設定した文字列でNULL文字を含んでいた場合、それ以降が無視されてしまう不具合を修正。
TIMESTAMP 型の値をUTCで保持するようにしました。これは後方互換性のない変更です。
感謝¶
@soundkitchenさん
wakisukeさん
@HANZUBONさん
2.08リリース - 2012/10/29¶
ご用心
このリリースにはマルチカラムインデックスに関する後方互換性のない変更が1つあります。もし、 マルチカラムインデックスをVARCHARやCHAR型に対して使っている場合は ALTER TABLE DISABLE KEYS と ALTER TABLE ENBALE KEYS を使ってインデックスを作り直してください:
mysql> ALTER TABLE table_name DISABLE KEYS;
mysql> ALTER TABLE table_name ENABLE KEYS;
改良¶
[ストレージモード] INFORMATION_SCHEMA.TABLES.DATA_LENGTH をサポート。 [@9mさんが提案]
utf8mb4をサポート。 [groonga-dev,01049] [warp kawadaさんが報告]
Ubuntu 12.10 Quantal Quetzalに対応。
[rpm][fedora] MySQL 5.5.28に対応。
修正¶
[ストレージモード] マルチカラムユニークインデックスをDATE型のカラムで使ったときのユニーク判定不具合を修正。[groonga-dev,01041] [#1495] [jd foncさんが報告]
WHERE index < XXX ORDER BY DESC で降順ソートが正しく行えない不具合を修正。 [@taro252さんが報告]
[rpm] DROP FUNCTION mroonga_snippet が抜けている問題を修正。[@tokuhyさんが報告]
マルチカラムインデックスに指定したINT型のカラムで範囲検索が正しく行えない問題を修正。
[doc] ビルド手順でコマンドライン操作の記述誤りを修正。 [groonga-dev,01061] [磯部和広さんが報告]
感謝¶
@9mさん
warp kawadaさん
jd foncさん
@taro252さん
@tokuhyさん
磯部和広さん
2.07リリース - 2012/09/29¶
改良¶
[deb] MeCab向けにAppArmorの設定を有効にした。 [@Qurageさんが報告]
[ストレージモード][実験的] mroonga_snippet()関数を追加。 [#1442]
修正¶
[rpm] groonga_required_version を修正。 [groonga-dev,01033] [wingさんが報告]
datetime型として保持できる値の範囲が狭く、意図しない値が設定される問題を修正。 [groonga-dev,01035] [#1476] [中谷宗嵩さんが報告]
感謝¶
@Qurageさん
wingさん
中谷宗嵩さん
2.06リリース - 2012/08/29¶
ご用心
今回のリリースではデータベースの互換性があります。ただし、新たにgroonga 2.0.6で導入された機能を使っているので、groonga 2.0.6と一緒に使わないといけません。
改良¶
BOOLEAN MODEにて "-WORD" という構文をサポートしました。
修正¶
全文検索条件の "order by" によって検索結果のレコードが少なくなる不具合を修正した。[groonga-dev,00977] [#1422] [中谷宗嵩さんが報告]
不要なビルドフラグを削除した。 [#1453] [@nabebebさんが報告]
[rpm][centos] BuildRequiresに抜けていたmysql-develの記述を修正した。 [groonga-dev,01009] [wingさんが報告]
感謝¶
@nabebebさん
wingさん
中谷宗嵩さん
2.05リリース - 2012/07/29¶
ご用心
This release has a backward incompatible change against SET column and ENUM. If you use SET column or ENUM that has the number of elements < 256 in ストレージモード, please recreate (dump and restore) database.
以下が更新手順です。
mroongaを使っているデータベースをダンプします:
% mysqldump MY_MROONGA_DATABASE > database-mroonga.dump
既存のデータベースを削除します:
% 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 (v2.02以前からのアップグレード):
% sudo yum remove -y mysql-mroonga
% sudo yum install -y mysql-mroonga
yum (v2.03以降からのアップグレード):
% sudo yum install -y mysql-mroonga
ご用心
v2.02以前のリリースからアップグレードする場合、 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
これで2.05を使うことができるようになりました。
改良¶
[ストレージモード] SET カラムでインデックスをサポート。
[rpm] MySQL 5.5.25aに対応。
Fedora 17に対応。
Fedora 16対応をやめた。
[ストレージモード] TINYINT UNSIGNED/SMALLINT UNSIGNED/MEDIUMINT UNSIGNED/INT UNSIGNED/BIGINT UNSIGNED型をサポート。
[ストレージモード] ENUMを使うのに必要なストレージサイズを減らした。
2.04リリース - 2012/06/29¶
改良¶
[ラッパーモード] バルクインサートにてインデックスの有効/無効化をサポート。 [#1311]
修正¶
トランザクション内でクエリキャッシュを無効化するように修正。 [#1384]
パーティションを明示的に無効化した。 [#1391]
[rpm][deb] インストール前に mysql.plugin テーブルからmroongaプラグインを確実に削除するようにした。 [groonga-dev,00948] [磯部和広さんが提案]
存在しないパスを mroonga_log_file 変数へと設定するとクラッシュする不具合を修正した。 [#1404] [@nabebebさんが報告]
[実験的] mroonga関連のデータを配置するパスの変更をサポート。 [groonga-dev,00914] [#1392] [磯部和広さんが提案]
感謝¶
磯部和広さん
@nabebebさん
2.03リリース - 2012/05/29¶
ご用心
This release has a backward incompatible change against multiple column index. If you have any tables that uses ストレージモード and any multiple comlumn indexes, please recreate those indexes by ALTER TABLE DISABLE KEYS and ALTER TABLE ENBALE KEYS:
mysql> ALTER TABLE table_name DISABLE KEYS;
mysql> ALTER TABLE table_name ENABLE KEYS;
改良¶
[ストレージモード] バルクインサートにてインデックスの有効/無効化をサポート。 [#1310]
[rpm][centos] MySQL 5.5.24に対応。
[rpm][fedora] MySQL 5.5.23に対応。
mroonga_match_escalation_threshold システム変数を追加。
groonga 2.0.3以降を必須にした。
[yum] groongaのyumリポジトリを提供するRPMパッケージ名をgroonga-repositoryからgroonga-releaseへと変更し、RPMパッケージ命名規則をcentos-releaseやfedora-releaseに合わせた。
[Mac OS X] Homebrewでインストールできるようになった。詳細はこちら: インストールガイド
修正¶
Mac OS Xでビルドに失敗する問題を修正。
[ラッパーモード] トランザクション内の検索で見つからないというエラーが報告される不具合を修正[#1322][groonga-dev,00746] [石橋卓見さんが報告]
[rpm] mroongaプラグインがアップグレードのときに登録解除される不具合を修正。[groonga-dev,00810] [石橋卓見さんが報告][岩井さんがパッチ提供]
MySQL 5.5以前では行ベースのレプリケーションで間違ったデータが転送されてしまう不具合を修正。 [#1379][groonga-dev,00902] [土井健司さんが報告]
感謝¶
石橋卓見さん
岩井さん
土井健司さん
2.02リリース - 2012/04/29¶
ご用心
今回のリリースよりパッケージへ署名する鍵を変更しました。groongaパッケージを更新する前にパッケージ署名用の新しい鍵をインポートして下さい。
Debian/Ubuntu:
% sudo apt-get update
% sudo apt-get -y --allow-unauthenticated install groonga-keyring
CentOS/Fedora:
% sudo yum update
% sudo yum install --nogpgcheck -y groonga-repository
ご用心
このリリースは ENUM 型に関して後方互換性がありません。もし、256個以上の値を持つ ENUM 型を使っている場合はアップグレード前にデータベースをダンプし、アップグレード後にリストアする必要があります。
ご用心
このリリースは SET 型に関して後方互換性がありません。もし、32個以上の値を持つ SET 型を使っている場合はアップグレード前にデータベースをダンプし、アップグレード後にリストアする必要があります。
改良¶
GCC 4.7とMySQL 5.5.22の組み合わせでビルドするための一時的な対応を追加した。この組み合わせではgccの -Wdeprecated オプションを指定するとビルドに失敗します。 [#1337] [かずひこさんが報告]
[mariadb] MariaDB 5.5.23をサポート。 [#1339] [かずひこさんが報告] [Ryo Onoderaさんが報告]
[ストレージモード] REPLACE 時に、プライマリーキーを使わなかったという必要のない警告がでないようにした。
[ストレージモード] インデックスを使った ENUM の検索をサポート。 [@104yuki_nさんが提案]
[非互換] ENUM 用のgroongaの型を符合付き2バイト整数型から符号なし2バイト整数型に変更した。 ENUM 型のカラムを作りなおす必要があります。
[非互換] SET 用のgroongaの型を符合付き8バイト整数型から符号なし8バイト整数型に変更した。 SET 型のカラムを作りなおす必要があります。
MySQL 5.5.23に対応。
groonga 2.0.2以降を必須にした。
[非互換][実験的] MATCH AGAINST IN NATURAL LANGUAGE MODE での検索方法をフレーズ検索から類似検索に変更した。
[apt][yum] パッケージに署名する鍵を変更。
Ubuntu 12.04 Precise Pangolinに対応。
修正¶
[ストレージモード] キーの長さが間違っていた問題を修正。
大きな転置索引を更新中に検索するとクラッシュする問題を修正。 [#1321] [groonga-dev,00743] [河野隆志さんが報告] [groonga-dev,00746] [石橋卓見さんが報告]
TRUNCATE したテーブルのトークナイザーとエンコーディングが壊れる問題を修正。 [#1335] [@boss_satoさんが報告]
Spiderとmroongaを組み合わせたときに最初の INSERT が失敗する問題を修正。 [#1319] [groonga-dev,00736] [Takayuki Hondaさんが報告]
感謝¶
河野隆志さん
@boss_satoさん
かずひこさん
Ryo Onoderaさん
@104yuki_nさん
Takayuki Hondaさん
石橋卓見さん
2.01リリース - 2012/03/29¶
改良¶
MySQL 5.5.22に対応。
MySQL 5.1.62に対応。
groonga 2.0.1以降を必須にした。
[rpm] アップグレード時のプラグインアンインストール処理を改良した。
[rpm] アップグレード時のプラグインアンインストール処理を改良した。
[ラッパーモード] MyISAMと一緒に使ったときに INSERT ON DUPLICATE KEY ERROR を使えるようにした。 [#1300] [@104yuki_nさんが報告]
[ラッパーモード] ラップしているテーブルの table_flags() を使うようにした。 [#1304]
MySQLがValgrindサポート付きでビルドされているとき用に --with-valgrind configureオプションを追加した。
[mariadb] 小数形式秒指定を使った DATETIME 型をサポートした。
位置情報サポートなしでのビルドをサポートした。 [#1313] [かずひこさんが報告]
[ストレージモード] i386環境で最適化オプションを指定したときでもマルチカラムインデックスが動くようにした。 [かずひこさんが報告]
[ラッパーモード] ラッパーモードでInnoDBを使って、InnoDBのテストが通ることを確認した。
[solaris] Solaris 11上でのビルドできるようにした。 [かずひこさんが報告]
[mariadb55] MariaDB 5.5で mroonga_default_parser が動くようにした。 [#1314] [かずひこさんが報告]
[mariadb55] MariaDB 5.5で ORDER LIMIT 最適化が動くようにした。 [#1315] [かずひこさんが報告]
[doc] MeCabについて追記した。
[ストレージモード] 値が0のレコードをインデックスを使って検索できるようにした。 [@104yuki_nさんが報告]
[ストレージモード] 最適化ビルドフラグを指定してもUbuntu Hardy上で正しく動くようにした。 [かずひこさんが報告]
ロゴ を追加した。
HTMLのデザインを更新した。
修正¶
[ストレージモード] メモリリークを修正。
[ストレージモード] マルチカラムインデックスを使って検索したときに見つかったのに結果が返されない問題を修正した。 [#1300] [@ytaka5さんが報告]
[ストレージモード] COUNT (*) の効果がなかった問題を修正した。 [groonga-dev,00717] [Takayuki Hondaさんが報告]
DROP DATABASE 時に発生していたメモリリークを修正した。
[ストレージモード] 32bit環境で last_insert_grn_id() が壊れた値を返すことがある問題を修正した。 [かずひこさんが報告]
[ストレージモード] COUNT (*) が0を返すことがある問題を修正した。 [groonga-dev,00736] [Takayuki Hondaさんが報告]
感謝¶
@ytaka5さん
@104yuki_nさん
Takayuki Hondaさん
かずひこさん
2.00リリース - 2012/02/29¶
ご用心
このリリースは後方互換性がありません。アップグレードするにはデータベースをダンプ・リストアする必要があります。
このリリースでは、データベースの再作成が必要な変更点が2つあります。
データベース名、テーブル名、カラム名に任意の文字を使えるようにした。
MySQLの YEAR 型にgroongaが提供する時間型を使うようにした。
以下が更新手順です。
mroongaを使っているデータベースをダンプします:
% mysqldump MY_MROONGA_DATABASE > database-mroonga.dump
既存のデータベースを削除します:
% 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
これで2.00を使うことができるようになりました。
改良¶
MySQL 5.5.21に対応。
groonga 2.0.0以降を必須にした。
MySQL 5.6とMariaDBで使える小数付きのTIMESTAMPに対応した。
[ストレージモード] 主キーがない場合でも ORDER LIMIT を最適化できるようにした。
[ストレージモード] 全文検索と COLUMN = INT_VALUE を一緒に使った場合でも ORDER LIMIT を最適化できるようにした。
[ストレージモード] サブクエリ内での全文検索に対応した。 [@camyuyさんが報告]
[非互換] groongaからデータを読めるように、MySQLの YEAR をgroongaの Time に対応させるようにした。
[ストレージモード] 更新時の必要ない書き込みロックを削除した。 [#1271] [Takahiro Nagaiさんが報告]
最適化のオン・オフを切り替える mroonga_enable_optimization システム変数を追加した。ベンチマーク時に便利。
[ラッパーモード] 一時テーブルに対応した。 [#1267]
[非互換] データベース名に / を使えるようにした。 [#1281]
INSERT ... ON DUPLICATE KEY UPDATE のときに不必要なメッセージが表示されないようにした。
UNIQUE KEY を使った INSERT ... ON DUPLICATE KEY UPDATE に対応した。 [#1283] [@104yuki_nさんが報告]
主キーに DATETIME, DATE, TIMESTAMP, TIME, DECIMAL, YEAR を使えるようになった。
[非互換] データベース名、テーブル名、カラム名にすべての文字を使えるようになった。 [#1284]
[ラッパーモード] 255バイト以上のインデックスに対応した。 [#1282]
[ラッパーモード] 主キーの更新に対応した。 [#1195]
[ラッパーモード] ALTER TABLE でエラーが発生したときの処理を追加した。 [#1195]
[ラッパーモード] LineString のような未サポートの位置情報型を使った場合のエラーメッセージを改良した。 [#1195]
[ラッパーモード] INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS に対応した。 [#1195]
修正¶
[rpm] プラグインを再インストールするようにした。
[doc] ストレージエンジン名が間違っていた問題を修正。 [Tomoatsu Shimadaさんが報告]
感謝¶
@camyuyさん
Takahiro Nagaiさん
Tomoatsu Shimadaさん
@104yuki_nさん
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さん