お知らせ - 3系

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] [田辺公平さんが報告]

感謝

  • 田辺公平さん