News - 4.x

4.10リリース - 2015-01-29

このリリースにはユニークインデックスのバグ修正が含まれています。もし、ストレージモードでユニークインデックスを使っている場合はデータが壊れている可能性があります。ストレージモードでユニークインデックスを使っている場合はこのバージョンへアップグレードし、アップグレード後にユニークインデックスを再構築することをオススメします。

ユニークインデックスを含むすべてのインデックスを再構築するSQL文は次の通りです。:

ALTER TABLE ${YOUR_TABLE} DISABLE KEYS;
ALTER TABLE ${YOUR_TABLE} ENABLE KEYS;

ENABLE KEYS をしたときに「レコードが重複している」というエラーがでるかもしれません。もし、このエラーがでた場合は、データを確認の上、重複を解消してください。

次のようなケースがあった場合、前述のようにデータが壊れます。

  • ユニークインデックスを作成する。

  • データを挿入する。

  • 重複したデータを挿入する。エラーが報告される。

  • 再度重複したデータを挿入する。エラーなく重複したデータが挿入できてしまう。

改良

  • [ストレージモード] FULLTEXT INDEXのCOMMENTに参照テーブルが指定してあるときに、オフラインインデックス構築ができるようになりました。 オフラインインデックス構築には DISABLE KEYS を実行してから ENABLE KEYS を実行します。[村上さんが報告]

  • [rpm][centos] CentOS 7でMySQL 5.6.22向けにビルドするようにしました。[groonga-dev,03047] [各務さんが報告]

  • [rpm][centos] CentOS 7でMariaDB 5.5.40-2向けにビルドするようにしました。

  • [ストレージモード][mysql56] ADD UNIQUE INDEX で重複したときのエラーを報告するようにしました。[kazeburoさんが報告]

修正

  • [ストレージモード] 参照テーブルがエラーで意図せず削除される不具合を修正しました。これはたとえば FULLTEXT INDEXのコメントに 'table "terms"' が指定されていたら、「terms」テーブルのインデックスを作成しているときにエラーが発生すると、「terms」テーブルが削除されてしまうということです。

  • [ストレージモード] ユニークインデックスに対し重複したエントリを挿入しようとすると、重複によるエラーでインデックスが削除されてしまう不具合を修正しました。この不具合でインデックスの一貫性が損なわれてしまうので、Mroongaをアップグレードしたあとにインデックスを再構築しなおしてください。[kazeburoさんが報告]

  • [ストレージモード] INSERT ON DUPLICATE KEY UPDATE が機能していなかった問題を修正しました。この不具合には挿入に失敗したあとの更新処理で既存の他のレコードを変更してしまう可能性があります。[kazeburoさんが報告]

感謝

  • 村上さん

  • 各務さん

  • kazeburoさん

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

  • 村上さん

  • 長野雅広さん