お知らせ - 7系 — Mroonga vmrn_version documentation

本文へスキップ
`Ctrl`+`K`

# お知らせ - 7系

## 7.11リリース - 2018-01-29

### Improvements

- [テスト] サブクエリーとORDER BY ... LIMIT最適化のテストケースを追加しました。[GitHub#184] [濵﨑一樹さんが報告]

- [rpm][centos] MariaDB 10.3に対応しました。

- [deb][ubuntu] Ubuntu 17.10向けにMariaDB 10.1のパッケージをサポートしました。

### Fixes

- [Mroonga_n_pooling_contexts] `FLUSH STATUS` により値が意図せずリセットされてしまう不具合を修正しました。

- [maradb10.3] 定数の変更によりビルドエラーになっていた問題を修正しました。(`HA_MUST_USE_TABLE_CONDITION_PUSHDOWN` が `HA_CAN_TABLE_CONDITION_PUSHDOWN` へと変更)

- [macOS] 現状にそぐわないインストール手順を削除し、最新のドキュメントへのリンクに差し替えました。 [天野龍司さんが報告]

- [rpm][centos] MariaDB 10.2.12をサポートしました。[GitHub#186] [Shota Suzukiさんが報告]

- [rpm][centos] Percona Server 5.7.20-19に対応しました。

- [Ubuntu] Ubuntu 17.04（Zesty Zapus）のサポートをやめました。2018年1月13日でサポートが切れた（EOLになった）ためです。

### Thanks

- 濵﨑一樹さん

- 天野龍司さん

- Shota Suzukiさん

## 7.10リリース - 2017-12-29

### Improvements

- Groonga 7.1.0が必要になります。Mroonga 7.10にアップグレード後にMySQLを再起動する必要があります。

- [MariaDB 10.3] MariaDB 10.3に対応しました。

- [rpm][centos] MariaDB 10.2.11に対応しました。

- [rpm][centos] MariaDB 10.1.30に対応しました。

- [rpm][centos] Percona Server 5.7.20に対応しました。

- [rpm][centos] Percona Server 5.6.38に対応しました。

- [最適化] マルチカラムインデックスでもカウントスキップ最適化をサポートしました。

- コンディションプッシュダウン（検索条件をMySQLレベルではなくGroongaレベルで処理する最適化）をサポートしました。この最適化関連の変数をいくつか追加しました。

  - [Mroonga_condition_push_down] `Mroonga_condition_push_down` を追加しました。

  - [mroonga_condition_push_down_type] `mroonga_condition_push_down_type` を追加しました。デフォルト値は `ONE_FULL_TEXT_SEARCH` です。このときは、 `WHERE` 句の中に1つだけ `MATCH AGAINST` がある場合にだけコンディションプッシュダウンを使います。従来と同じ挙動です。この値を `ALL` にすると、常にコンディションプッシュダウンを使います。今のところ、 `ALL` は実験的な機能です。実際に使って、速くなるか遅くなるかフィードバックして欲しいです。

- 固定長カラムの値の取得処理を高速化するためにカラムキャッシュ機能をサポートしました。

- `last_insert_grn_id` 関数を `mroonga_last_insert_grn_id` 関数に改名しました。他のUDFと同じように `mroonga_` プレフィックスが付きました。 `last_insert_grn_id` は非推奨ですが引き続き使えます。 [GitHub#177] [Ian Gilfillanさんが報告]

- [Mroonga_n_pooling_contexts] mroonga_command() 用にプールしているコンテキストの数を確認するためのステータス変数を追加しました。

- [ `FLUSH TABLES` ] mroonga_command() 用にプールしているコンテキストもクリアーするようになりました。

### Thanks

- Ian Gilfillanさん

## 7.09リリース - 2017-11-29

### Improvements

- [rpm][centos] MariaDB 10.2.10に対応。

- [rpm][centos] MariaDB 10.1.29に対応。

- テストを実行するときにsedがなくてもよいようにしました。 [Sergei Golubchikさんがパッチ提供]

- [cmake] Mroongaを無効にしてビルドする場合にはMroonga関連の設定をスキップするようにしました。 [Vladislav Vaintroubさんがパッチ提供]

### Thanks

- Sergei Golubchik

- Vladislav Vaintroubさん

## 7.08リリース - 2017-10-29

### Improvements

- テーブル作成時に `flags` オプションを指定できるようになりました。 オプションには `TABLE_HASH_KEY` 、 `TABLE_PAT_KEY` 、 `TABLE_DAT_KEY` と `KEY_LARGE` が指定できます。 [groonga-dev, 04494] [宮下さんが報告]

- [rpm][centos] MySQL 5.6.38-2と5.7.20-15.24に対応。

- [Ubuntu] Ubuntu 17.10 (Artful Aardvark)をサポートしました。

### Thanks

- 宮下さん

## 7.07リリース - 2017-10-12

### Improvements

- [mroonga_query_expand] `mroonga_query_expand` UDFを追加しました。同義語テーブルを用意しておけば、クエリに含まれる語の同義語を `mroonga_query_expand` で展開できます。この関数を使うためには Groonga 7.0.6以降が必要です。

- [rpm][centos] 最新のPercona Server 5.7.19-17.1をサポートしました。 [tigersun2000さんが報告]

- [rpm][centos] MariaDB 5.5.56-2をサポートしました。 [@akiko_pusuさんが報告]

- [rpm][centos] MariaDB公式が提供するMariaDB 10.1/10.2をサポートしました。

### Fixes

- "DROP DATABASE" したときに誤ったデータベースが使われてしまう可能性のある不具合を修正しました。この不具合により内部で使っている "mroonga_operations" テーブルが意図せず削除されてしまうため、クラッシュする可能性があります。この不具合は次の2つの条件を満たすと発生します:

  1. Mroongaを使っているデータベースが複数あること

  2. "DROP DATABASE" をMroongaのテーブルを作成していないデータベースに対して実行すること

  意図しない結果として、 "DROP DATABASE x" は 既存の "y" データベースの "mroonga_operations" テーブルを削除してしまいます。

- CHECK TABLEしたあとにクラッシュする不具合を修正しました。 [GitHub#167] [GMOメディア株式会社さんが報告]

- [deb][mariadb10] lsb-releaseパッケージへの依存関係を追加しました。preinst や postrm などメンテナスクリプトに必要でした。 [GitHub#169] [すぎうらさんがパッチ提供]

### Thanks

- @tigersun2000さん

- @akiko_pusuさん

- GMO Media, Inc.

- すぎうらさん

## 7.06リリース - 2017-08-29

### Improvements

- [mroonga_highlight_html()] mroonga_highlight_html の使用方法を追記しました。

- Generated Columnをサポートしました。JSON型のカラムから値を取り出した結果をカラムとして実体化して全文検索できるので便利です。 [GitHub#159,#160,#163] [村上さんがパッチ提供]

- mroonga_enable_operations_recording サーバー変数を追加しました。 [GitHub#158] [村上さんがパッチ提供]

- MariaDB 10.2 と MySQL 5.7 で `VIRTUAL` Generated Columnをサポートしました。 [GitHub#161,#162] [村上さんがパッチ提供]

- MariaDB 10.1.26に対応しました。

- [rpm][centos] Percona Server 5.6.36 rel82.1 と 5.7.18-16 をサポートしました。 [Gitter/ja:59894500bc46472974622cbd] [@tigersun2000_twitterさんが報告]

- [rpm][centos] CentOS 7にてMySQL 5.6.37 と MySQL 5.7.19に対応しました。 [groonga-dev,04441] [各務さんが報告]

### Thanks

- Naoya Murakami

- @tigersun2000_twitterさん

- 各務さん

## 7.05リリース - 2017-07-29

### Improvements

- Groongaのクエリーログをサポートしました。 `mroonga_query_log_file` 変数を指定してください。 [GitHub#148]

- MariaDB 10.2.7をサポートしました。 [groonga-dev,04397] [かとうさんが報告]

- [mroonga_command()] データベース名が特別な名前( 例えば `db-1` )な場合もサポートしました。データベース名に `-` が含まれていても大丈夫です。

- [mroonga_command()] コマンドの自動エスケープに対応しました。Groongaの機能をMroongaから使いやすくなります。

- MariaDB 5.5.57に対応しました。

- [rpm][centos] CentOS 6にてMySQL 5.6.37-2 と MySQL 5.7.19-1に対応しました。 [groonga-dev,04403] [各務さんが報告]

- [Ubuntu] Ubuntu 16.10（Yakkety Yak）のサポートをやめました。2017年7月20日でサポートが切れた（EOLになった）ためです。

- [mroonga_highlight_html()] 対象となるカラムや文字列をハイライトする関数をサポートしました。

### Fixes

- 内部的に有効なインデックスが見つからない場合にクラッシュする不具合を修正しました。 [Gitter:groonga/ja:596714a5c101bc4e3a7db4e5] [K Torimotoさんが報告]

### Thanks

- K Torimotoさん

- かとうさん

- 各務さん

## 7.04リリース - 2017-06-29

### Improvements

- ヒットしたレコード用に一時テーブルを作成しようとして失敗したときにエラーメッセージをだすようにしました。この種のエラーはインデックスが壊れているときに発生します。

- [Debian GNU/Linux] Debian 9 (stretch)をサポートしました。

### Fixes

- 内部で呼び出している関数 `grn_table_setoperation` を呼ぶ前の `NULL` チェックが抜けているせいでクラッシュする不具合を修正しました。このようなクラッシュはインデックスが壊れているときに発生します。

## 7.03リリース - 2017-05-29

### Improvements

- [制限事項] カラムのNULL値に関する制限情報を更新しました。 [Gitter/ja] [@bignum_twitterさんが報告]

- `INDEX_MEDIUM` と `INDEX_SMALL` フラグをサポートしました。 [GitHub#141] [村上さんがパッチ提供]

- [CentOS] 最新のPercona Server 5.6/5.7をサポートしました。 [@pinpikokunさんが報告]

### Thanks

- @bignum_twitterさん

- @pinpikokunさん

- Naoya Murakami

## 7.02リリース - 2017-04-29

### Improvements

- [Ubuntu] EOLのため、Ubuntu 12.04 (Precise Pangolin)のサポートをやめました。

- [Ubuntu] Ubuntu 17.04 (Zesty Zapus)をサポートしました。

### Fixes

- [CentOS] MySQL 5.6.36とMySQL 5.7.18でビルドエラーになる問題を修正しました。

- [cmake] Mroongaがバンドルされているがシステムの `libgroonga` を使う場合に `libgroonga` がリンクされていない問題を修正しました。 [GitHub#137] [村上さんがパッチ提供]

### Thanks

- Naoya Murakami

## 7.01リリース - 2017-03-29

### Improvements

- [CentOS] EOLのため、CentOS 5のサポートをやめました。

- [ストレージモード] `ALTER TABLE ADD/DROP FOREIGN KEY` をサポートしました。

- [ストレージモード] `ENUM` を使っている場合の `ORDER LIMIT` 最適化をサポートしました。[groonga-dev,04277] [村田さんが報告]

- [ストレージ] カラムのZSTD圧縮フラグ(`COMPRESS_ZSTD`)をサポートしました。 [GitHub#133] [村上さんがパッチ提供]

- [サーバ変数の一覧] mroonga_libgroonga_support_zstd サーバー変数のドキュメントを追加しました。 [GitHub#133] [村上さんがパッチ提供]

- [インストール] リソースのダウンロードに `https://packages.groonga.org` を推奨するようにしました。

### Fixes

- [ストレージモード] log-bin と `COLLATE` が指定されている場合、 `UPDATE PRIMARY KEY` で更新エラーになる問題を修正しました。 [GitHub#132] [kitoraさんが報告]

- 設定していないのに `FOREIGN KEY` が意図せずダンプされる不具合を修正しました。 [groonga-dev,04276] [村田さんが報告]

### Thanks

- kitoraさん

- 村田さん

- Naoya Murakami

## 7.00リリース - 2017-02-09

### Improvements

- [CentOS] EPELをパッケージインストール時に有効にするようにしました。

- `FOREIGN KEY` 制約を `UPDATE` と 親側の行を `DELETE` するときにもサポートしました。以前のバージョンでは、 `INSERT` 時のみサポートしていました。

- [ストレージモード] 主キーをもつテーブルでbinlogを使っていても、レコードの更新をサポートしました。以前は更新時に構文エラーになっていました。 [GitHub#130] [Reported by kitora]

### Thanks

- kitoraさん