お知らせ - 2系#
2.10リリース - 2012/12/29#
Improvements#
システムと異なる文字コードのテーブルでもENABLE KEYS/DISABLE KEYSを使えるようにした。 [@kokoronaviさんが報告]
キーが重複している場合、エラーメッセージにそのキーの値を表示するように改善した。
MySQL 5.6.9-rcに対応。 [#1547] [#1548] [wingさんが報告]
[ストレージモード]
GROUP BY
をインデックスを使っての検索できるようにした。この変更でGROUP BY
を使った検索速度を改善できます。Ubuntu 11.04 (Natty Narwhal)のサポートを終了した。
Fixes#
[rpm][centos] CentOS6でMySQL 5.1.66-2を使うように修正した。[宮脇さんが報告]
MATCH AGAINST
をINNER JOIN
と一緒に使うとエラーになる不具合を修正した。 [大城さんが報告]
Thanks#
@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);
Improvements#
[rpm][centos] CentOS 5にてMySQL 5.5.28に対応。
[rpm][centos] CentOS 6にてMySQL 5.1.61に対応。
[ラッパーモード] last_insert_id()関数をサポートした。[#1540] [@soundkitchenさんが報告]
Fixes#
[mysql51] utf8mb4の存在チェックでクラッシュする不具合を修正。MySQL 5.1にはutf8mb4がないのが原因でした。 [groonga-dev,01069] [Reported by wakisuke]
[ストレージモード] 検索でマッチしているのに該当データを削除できない問題を修正した。 [#1533] [@HANZUBONさんが報告]
主キーのインデックスがchar(N)のとき検索できないことがあるのを修正。この不具合はchar(N)に設定した値がNよりも短いか末尾に空白がある場合に発現します。この修正によりインデックスの再構築が必要になります。
char(N)に設定した文字列でNULL文字を含んでいた場合、それ以降が無視されてしまう不具合を修正。
TIMESTAMP
型の値をUTCで保持するようにしました。これは後方互換性のない変更です。
Thanks#
@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;
Improvements#
[ストレージモード]
INFORMATION_SCHEMA.TABLES.DATA_LENGTH
をサポート。 [@9mさんが提案]utf8mb4をサポート。 [groonga-dev,01049] [warp kawadaさんが報告]
Ubuntu 12.10 Quantal Quetzalに対応。
[rpm][fedora] MySQL 5.5.28に対応。
Fixes#
[ストレージモード] マルチカラムユニークインデックスを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] [磯部和広さんが報告]
Thanks#
@9mさん
warp kawadaさん
jd foncさん
@taro252さん
@tokuhyさん
磯部和広さん
2.07リリース - 2012/09/29#
Improvements#
[deb] MeCab向けにAppArmorの設定を有効にした。 [@Qurageさんが報告]
[ストレージモード][実験的] mroonga_snippet()関数を追加。 [#1442]
Fixes#
[rpm]
groonga_required_version
を修正。 [groonga-dev,01033] [wingさんが報告]datetime型として保持できる値の範囲が狭く、意図しない値が設定される問題を修正。 [groonga-dev,01035] [#1476] [中谷宗嵩さんが報告]
Thanks#
@Qurageさん
wingさん
中谷宗嵩さん
2.06リリース - 2012/08/29#
注意
今回のリリースではデータベースの互換性があります。ただし、新たにgroonga 2.0.6で導入された機能を使っているので、groonga 2.0.6と一緒に使わないといけません。
Improvements#
BOOLEAN MODEにて "-WORD" という構文をサポートしました。
Fixes#
全文検索条件の "order by" によって検索結果のレコードが少なくなる不具合を修正した。[groonga-dev,00977] [#1422] [中谷宗嵩さんが報告]
不要なビルドフラグを削除した。 [#1453] [@nabebebさんが報告]
[rpm][centos] BuildRequiresに抜けていたmysql-develの記述を修正した。 [groonga-dev,01009] [wingさんが報告]
Thanks#
@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を使うことができるようになりました。
Improvements#
[ストレージモード] 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#
Improvements#
[ラッパーモード] バルクインサートにてインデックスの有効/無効化をサポート。 [#1311]
Fixes#
トランザクション内でクエリキャッシュを無効化するように修正。 [#1384]
パーティションを明示的に無効化した。 [#1391]
[rpm][deb] インストール前に
mysql.plugin
テーブルからmroongaプラグインを確実に削除するようにした。 [groonga-dev,00948] [磯部和広さんが提案]存在しないパスを
mroonga_log_file
変数へと設定するとクラッシュする不具合を修正した。 [#1404] [@nabebebさんが報告][実験的] mroonga関連のデータを配置するパスの変更をサポート。 [groonga-dev,00914] [#1392] [磯部和広さんが提案]
Thanks#
磯部和広さん
@nabebebさん
2.03リリース - 2012/05/29#
注意
このリリースにはマルチカラムインデックスに関する後方互換性のない変更が1つあります。もし、 ストレージモード でマルチカラムインデックスをつかっている場合は ALTER TABLE DISABLE KEYS
と ALTER TABLE ENBALE KEYS
を使ってインデックスを作り直してください:
mysql> ALTER TABLE table_name DISABLE KEYS;
mysql> ALTER TABLE table_name ENABLE KEYS;
Improvements#
[ストレージモード] バルクインサートにてインデックスの有効/無効化をサポート。 [#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でインストールできるようになった。詳細はこちら: インストール
Fixes#
Mac OS Xでビルドに失敗する問題を修正。
[ラッパーモード] トランザクション内の検索で見つからないというエラーが報告される不具合を修正[#1322][groonga-dev,00746] [石橋卓見さんが報告]
[rpm] mroongaプラグインがアップグレードのときに登録解除される不具合を修正。[groonga-dev,00810] [石橋卓見さんが報告][岩井さんがパッチ提供]
MySQL 5.5以前では行ベースのレプリケーションで間違ったデータが転送されてしまう不具合を修正。 [#1379][groonga-dev,00902] [土井健司さんが報告]
Thanks#
石橋卓見さん
岩井さん
土井健司さん
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
型を使っている場合はアップグレード前にデータベースをダンプし、アップグレード後にリストアする必要があります。
Improvements#
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に対応。
Fixes#
[ストレージモード] キーの長さが間違っていた問題を修正。
大きな転置索引を更新中に検索するとクラッシュする問題を修正。 [#1321] [groonga-dev,00743] [河野隆志さんが報告] [groonga-dev,00746] [石橋卓見さんが報告]
TRUNCATE
したテーブルのトークナイザーとエンコーディングが壊れる問題を修正。 [#1335] [@boss_satoさんが報告]Spiderとmroongaを組み合わせたときに最初の
INSERT
が失敗する問題を修正。 [#1319] [groonga-dev,00736] [Takayuki Hondaさんが報告]
Thanks#
河野隆志さん
@boss_satoさん
Kazuhiko Shiozaki
Ryo Onoderaさん
@104yuki_nさん
Takayuki Hondaさん
石橋卓見さん
2.01リリース - 2012/03/29#
Improvements#
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のデザインを更新した。
Fixes#
[ストレージモード] メモリリークを修正。
[ストレージモード] マルチカラムインデックスを使って検索したときに見つかったのに結果が返されない問題を修正した。 [#1300] [@ytaka5さんが報告]
[ストレージモード]
COUNT (*)
の効果がなかった問題を修正した。 [groonga-dev,00717] [Takayuki Hondaさんが報告]DROP DATABASE
時に発生していたメモリリークを修正した。[ストレージモード] 32bit環境で
last_insert_grn_id()
が壊れた値を返すことがある問題を修正した。 [かずひこさんが報告][ストレージモード]
COUNT (*)
が0を返すことがある問題を修正した。 [groonga-dev,00736] [Takayuki Hondaさんが報告]
Thanks#
@ytaka5
@104yuki_nさん
Takayuki Hondaさん
Kazuhiko
2.00リリース - 2012/02/29#
注意
This release breaks backward compatibility. We need to dump and restore our database for upgrading.
In this release, mroonga has two changes that requires database recreation:
データベース名、テーブル名、カラム名に任意の文字を使えるようにした。
MySQLの
YEAR
型にgroongaが提供する時間型を使うようにした。
以下が更新手順です。
We dump a database that uses mroonga:
% mysqldump MY_MROONGA_DATABASE > database-mroonga.dump
We drop the existing database:
% mysql -u root -e 'DROP DATABASE MY_MROONGA_DATABASE'
We upgrade to "mroonga" storage engine. We will use
apt-get
on Debian GNU/Linux or Ubuntu and yum
on
CentOS or Fedora.
apt-get:
% sudo apt-get install -y mysql-server-mroonga
yum:
% sudo yum remove -y mysql-mroonga
% sudo yum install -y mysql-mroonga
注意
We don't forget to run yum remove
before yum
install
. If we forget to run yum remove
, we will break
a MySQL's system table.
We recreate a database:
% mysql -u root -e 'CREATE DATABASE MY_MROONGA_DATABASE'
We restore a database by modified dump file:
% mysql -u root MY_MROONGA_DATABASE < database-mroonga.dump
これで2.00を使うことができるようになりました。
Improvements#
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]
Fixes#
[rpm] プラグインを再インストールするようにした。
[doc] ストレージエンジン名が間違っていた問題を修正。 [Tomoatsu Shimadaさんが報告]
Thanks#
@camyuyさん
Takahiro Nagai
Tomoatsu Shimadaさん
@104yuki_nさん