お知らせ

4.09リリース - 2014-12-29

改良

  • [rpm] CentOS 6用のパッケージがMySQL 5.6.22に対応しました。 [@oreradioさんが報告]

  • MATCH () AGAINST ('...' IN BOOLEAN MODE) の構文をカスタマイズする mroonga_boolean_mode_syntax_flags を追加しました。

  • FULLTEXT INDEX (...) COMMENT 'normalizer "none"' というようにノーマライザーとして none を指定することでノーマライザーなしの FULLTEXT INDEX を作れるようにしました。

  • 自動で作られたレコードでもプライマリーキーの値を参照できるようになりました。

感謝

  • @oreradioさん

4.08リリース - 2014/11/29

改良

  • [deb] Ubuntu 12.04をTravis-CI向けに再度サポートしました。

  • [test] パフォーマンススキーマをチェックするスクリプトを追加しました。 [Elena Stepanovaさんがパッチ提供]

  • [rpm] MySQL 5.5.40 をCentOS 6と7でサポートしました。 [groonga-dev,02955] [西山さんが報告]

  • [doc] カラムサイズに関する 制限事項 を追記しました。

  • [ストレージモード] 主キーの指定が必要なクエリに主キーが指定されていなかったときのチェック漏れを修正しました。[groonga-dev,02963] [lkashiharaさんが報告]

修正

  • [doc] 存在しないMySQLバージョンの記述を削除しました。[groonga-dev,02899] [GMOメディア株式会社さんが報告]

  • [doc] CentOS 5のインストール手順で不要なSCL関連の記述を削除しました。

  • [doc] CentOS 5と6では service コマンドをMySQLの起動に使うようにしました。

  • [doc] CentOS 7では systemctl コマンドをMySQLの起動に使うようにしました。

感謝

  • GMOメディア株式会社さん

  • Elena Stepanovaさん

  • 西山さん

  • kashiharaさん

4.07リリース - 2014/10/29

改良

  • [ストレージ] 非推奨である INSERT DELAYED をエラーとして扱うようにしました。 [GitHub#20] [MDEV#6837] [Elena Stepanovaさんが報告]

  • [ストレージ][mariadb10] ユニークインデックスを追加するときに重複がある場合、適切なエラーメッセージを表示するようにしました。 [GitHub#19] [Elena Stepanovaさんが報告]

  • [cmake] 不要なコンパイラフラグのチェックメッセージを表示しないようにしました。 [GitHub#22]

  • トークンフィルターをテーブルもしくはインデックスのコメントに指定できるようにしました。 [GitHub#25] [村上さんがパッチ提供]

  • [mroonga_command] mroonga_commandを使うときにすでにGroongaのデータベースの有無を気にしなくてもよくなりました。以前はMroongaを使ったテーブルが存在している必要がありました。

  • [storage] テーブルのコメントにノーマライザーを指定できるようにしました。 [GitHub#27] [村上さんがパッチ提供]

  • [ストレージ] カラムの圧縮フラグをサポートしました。 (COMPRESS_LZ4, COMPRESS_ZLIB) [GitHub#32] [村上さんがパッチ提供]

  • mroonga_libgroonga_support_lz4mroonga_libgroonga_support_zlib システム変数を追加しました。 [GitHub#33,#34,#35] [村上さんがパッチ提供]

  • MySQL 5.1対応をやめました。

修正

  • [ストレージ][mariadb10] 不適切なロックのせいでクラッシュする不具合を修正しました。 [GitHub#18] [Elena Stepanovaさんが報告]

  • [ストレージ] signed tinyintでオーバーフローしていた問題を修正しました。 [GitHub#29]

  • [doc] ノーマライザーに関するマークアップを修正しました。 [GitHub#32] [村上さんがパッチ提供]

感謝

  • Elena Stepanovaさん

  • 村上さん

4.06リリース - 2014/09/29

改良

  • [doc] Groongaの開発パッケージについて説明を追加しました。

  • [doc] GitHub issue trackerの使用を推奨するようにしました。

  • [deb] Debian jessieとsidのサポートを終了しました。

修正

  • [ストレージモード] マルチカラムインデックスを使った検索で空のレコードが返ってくる不具合を修正しました。この不具合は次の2つの条件を満たすと発生します。1つめは、カラムがマルチカラムインデックスによってインデックスが作成されており、ORDERとWHERE句に指定されていること。2つめが、マルチカラムインデックスに指定した最初のカラムがORDERで使われていないことです。[#2651] [foamcentime, 村上さんが報告]

感謝

  • foamcentimeさん

  • 村上さん

4.05リリース - 2014/08/29

改良

  • Ubuntu 13.10 (Saucy Salamander)のサポートをやめました。

  • サーバー変数として mroonga_vector_column_delimiter を追加しました。ベクターカラムのデリミタを変更するのに使います。[GitHub#16] [村上さんがパッチ提供]

  • [rpm][centos] CentOS 6/7にて公式リポジトリにあるMySQL 5.6をサポートしました。mysql56-community-mroongaパッケージを使ってください。[mikoさんがパッチ提供]

  • [doc] インストール手順に含めていたアップグレードガイドを移動しました。アップグレード として参照できます。

  • MariaDB 10.0.13に対応しました。

  • [rpm][centos] CentOS 7をサポートしました。mariadb-mroongaパッケージを提供しています。このパッケージはバンドルされているMariaDBを使います。 [groonga-dev,02604] [宮脇さんがテスト協力][河田さんがテスト協力]

修正

  • [doc] Mroonga 4.04のリリースエントリでMySQLのバージョンが間違っていたのを修正しました。[_so4さんが報告]

  • [doc] インストール手順で明示的にインストールする必要のなくなったgroonga-normalizer-mysqlパッケージについて削除しました。

  • [ストレージモード] uniqueインデックスが残ったままで、プライマリーキーのduplicateエラーが発生する不具合を修正しました。[groonga-dev,02633] [6elzさんが報告]

  • [doc] 別のディレクトリでドキュメントをビルドできない不具合を修正しました。[groonga-dev,02652] [cosmo0920さんが報告]

  • ストレージエンジンの表記に"Mroonga"を使うようにしました。

  • [ストレージモード] テーブルを参照するインデックスがコメントで指定(COMMENT 'table "XXX"')されていると削除できない不具合を修正しました。[groonga-dev,02677] [村上さんが報告]

感謝

  • _so4さん

  • 村上さん

  • mikoさん

  • 6elzさん

  • cosmo0920さん

  • 宮脇さん

  • 河田さん

4.04リリース - 2014/07/29

改良

  • Groongaとgroonga-normalizer-mysql特有のテストファイルをMariaDBバンドル版には含めないようにしました。これはファイル名が長すぎる問題があるためです。 [groonga-dev,02391] [横山昌史さんが報告]

  • [doc] 開発者向け情報 を更新しました。

  • 妥当な日時であるかのチェックを32-bit環境で追加しました。[Tashiroさんがパッチ提供]

  • [ストレージモード] INPLACE ALTER TABLEでカラムを追加削除できるようになりました。[#2277] [GitHub#12] [村上さんがパッチ提供]

修正

  • [rpm][centos] CentOSでMySQL 5.5.37でビルドするようにしました。[吉田さんが報告]

  • Mac OSでの大文字/小文字特有の問題を回避するためにテストのテーブル名は小文字を使うようにしました。[Tashiroさんがパッチ提供]

  • VC++ 2013でのビルドエラーを修正しました。[GitHub#10] [cosmo0920さんがパッチ提供]

  • [doc] CentOS6 SCLでのインストール手順で二重引用符が抜けているのを修正しました。[GitHub#11] [村上さんがパッチ提供]

  • [ストレージモード] ALTER TABLE CHANGEでカラムを変更しようとするとクラッシュする問題を修正しました。[#2637]

感謝

  • 吉田光男さん

  • 横山昌史さん

  • Toshihisa Tashiroさん

  • cosmo0920さん

  • 村上さん

4.03リリース - 2014/05/29

改良

  • [doc] MariaDBのバージョンを更新しました。 [cosmo0920さんがパッチ提供]

  • 夏時間をサポートしました。 [#2385]

  • Ubuntuパッケージの配布サイトをLaunchpadのPPAに移行しました。詳細は インストール を参照してください。

修正

  • [doc] インストール の間違ったコマンドラインを修正しました。 [吉田光男さんが報告]

感謝

  • cosmo0920さん

  • 吉田光男さん

4.02リリース - 2014/04/29

改良

  • MariaDB 10.0.10に対応しました。 [#2460] [かずひこさんが報告]

  • MySQL 5.6.17に対応しました。

  • Ubuntu 14.04 LTS Trusty Tahrに対応しました。

  • MariaDBにバンドルした状態でビルドできるようにしました。

  • Ubuntu 12.10 Quantal Quetzalの対応をやめました。

  • [doc] MySQLのバージョンを更新しました。 [GitHub#8] [cosmo0920さんがパッチ提供]

修正

  • [ストレージモード] DELETE FROM table のときにtruncateを使わないようにしました。 [groonga-dev,02222] [GMOメディア株式会社さんが報告]

  • [ラッパーモード] DELETE FROM table のときにtruncateを使わないようにしました。

  • [ストレージモード] プライマリーキーがないテーブルをinplate alter tableするとクラッシュする問題を修正しました。 [groonga-dev,02227] [GMOメディア株式会社さんが報告]

  • [ストレージモード] ORDER BY function(vector_reference_column) が動かない問題を修正しました。 [groonga-dev,02234] [村上さんが報告]

  • mroonga_default_parser あるいは mroonga_log_file に現在の値と同じ値を設定するとクラッシュする問題を修正しました。 [GitHub#6] [Satoshi MITANIさんがパッチ提供]

  • my.cnfやコマンドラインオプションで mroonga_lock_timeout を指定しても無視される問題を修正しました。 [GitHub#7] [GMOメディア株式会社さんがパッチ提供]

  • プライマリーキーを指定してレコードを削除するとユニークインデックスが更新されない問題を修正しました。 [groonga-dev,02244] [津久井玲宏さんが報告]

感謝

  • かずひこさん

  • GMOメディア株式会社さん

  • 村上さん

  • Satoshi MITANIさん

  • 津久井玲宏さん

  • cosmo0920さん

4.01リリース - 2014/03/29

改良

  • MariaDB 10.0.9に対応しました。 [#2387] [かずひこさんが報告]

  • 10以上のセクションをWプラグマで扱えるようにしました。[#2348] [groonga-dev,02138] [yoku0825さんが報告]

  • [rpm][centos] CentOS 6にてSCLのMySQLパッケージに対応しました。

修正

  • [ストレージモード] テーブル参照型のフルテキストインデックスをALTER TABLEしようとするとmysqldがクラッシュする問題を修正しました。 [#2327] [groonga-dev,02130] [村上さんが報告]

  • [doc] "Mroongaの特徴"でMroonga/Groongaを大文字表記するようにしました。[GitHub#5] [村上さんがパッチ提供]

感謝

  • yokuさん

  • 村上さん

  • かずひこさん

4.00リリース - 2014/02/29

  • バージョン4.00になりました。クラッシュする不具合や更新時の不具合が修正されたのでアップグレードをおすすめします。

改良

  • Ubuntu 13.04 Raring Ringtailのサポートをやめました。

  • [ストレージモード] 空の文字列でも検索できるようにしました。 [#2214] [groonga-dev,02052] [村上さんが報告]

修正

  • NULL値をNOT NULL制約のあるgeometryカラムに対してインサートしようとするとクラッシュする不具合を修正しました。 [#2281] [groonga-dev,02095] [yokuさんが報告]

  • [ストレージモード] ON DUPLICATE KEY UPDATEにより、既存のレコードが意図せず削除される不具合を修正しました。以前のバージョンではカラムの値を正しく更新できていませんでした。 [#2263] [長野雅広さんが報告]

感謝

  • yokuさん

  • 村上さん

  • 長野雅広さん

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さんが報告]

  • トラブルシューティングのためのドキュメントを追加しました。

  • 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 TABLESENABLE KEYS を同時に使うと検索データとしてヒットしない不具合を修正しました。

感謝

  • Y.Kentaroさん

  • WINGさん

  • shizuinさん

  • 吉田光男さん

  • @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_ciutf8mb4_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_ciutf8mb4_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 AGAINSTINNER 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 KEYSALTER 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

ご用心

このリリースにはSETカラムとENUMに関して後方互換性のない変更があります。もし ストレージモード にてSETカラムもしくは要素数が256より少ないENUMを使用しているなら、データベースを再作成してください。

以下が更新手順です。

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

ご用心

このリリースにはマルチカラムインデックスに関する後方互換性のない変更が1つあります。もし、 ストレージモード でマルチカラムインデックスをつかっている場合は ALTER TABLE DISABLE KEYSALTER 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つあります。

  1. データベース名、テーブル名、カラム名に任意の文字を使えるようにした。

  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つあります。

  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さん