News - 1 series#
Release 1.20 - 2012/01/29#
Caution
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:
Storage engine name is changed to “mroonga” from “groonga”.
Groonga’s native time data type is used for DATE, DATETIME and TIMESTAMP type in MySQL.
We need to modify dumped database to change “ENGINE=groonga” in “CREATE TABLE” SQL. Here are upgrade sequence.
We dump a database that uses mroonga:
% mysqldump MY_MROONGA_DATABASE > database-groonga.dump
We convert storage engine in dump file:
% sed -e 's/^) ENGINE=groonga/) ENGINE=mroonga/' database-groonga.dump > database-mroonga.dump
We confirm that ENGINE=groonga
only in CREATE TABLE
is replaced with ENGINE=mroonga
. We need to check @@
... @@
line includes CREATE TABLE
. If the line
includes CREATE TABLE
, the hunk will be a change for
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 */;
--
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
Caution
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
Now, we can use mroonga 1.20.
Improvements#
Supported MySQL 5.5.20.
Supported MySQL 5.1.61.
Required groonga 1.3.0 or later.
[incompatible] Changed storage engine name to “mroonga” from “groonga”.
Supported UTF8_BIN collate. [#1150]
Disabled strict-aliasing warnings. [Reported by @issm]
Supported decimal. [#1249] [Reported by @Kiske]
[storage mode] Supported HA_KEYREAD_ONLY. It will improve column value access in index. [#1212]
[storage mode] Supported float value in multiple column index.
[storage mode] Supported double value in multiple column index.
[storage mode] Mapped enum and set types to more suitable groonga data types.
[wrapper mode] Supported REPAIR TABLE.
[storage mode] Supported
count(*)
on view. [#1255] [Reported by Takahiro Nagai][incompatible] Groonga’s native time value is used for DATE, DATETIME and TIMESTAMP type values.
Fixes#
[debian] Fixed wrong mysql-server-groonga version in replaces and breaks. [Reported by @ytaka5]
[doc] Fixed wrong execution result. [Reported by Hidekazu Tanaka]
[wrapper mode] Fixed a memory leak. [Reported by montywi]
Thanks#
@ytaka5
Hidekazu Tanaka
@issm
montywi
@Kiske
Release 1.11 - 2011/12/29#
Improvements#
Supported MySQL 5.5.19.
Supported MySQL 5.6.4.
Dropped MySQL 5.6.3 support.
Supported Fedora 16.
Dropped Fedora 15 support.
Suppress strict-aliasing warnings. [groonga-dev,00659] [Reported by Kazuhiko Shiozaki]
Supported utf8, binary, ascii, latin1, cp932, sjis, eucjpms, ujis and koi8r charset. [#1160] [Reported by nobody]
[wrapper mode] Improved rollback handling on delete. [#1224] [Reported by Koichi Shishikura]
Fixes#
[storage mode] Fixed a bug that full text search on a table without primary key returns empty results. [#1193] [Reported by Kazuhiko Shiozaki]
Fixed -Wno- compiler flag detection. [Patch by Arnaud Fontaine]
[wrapper mode] Fixed a problem that index isn’t used for full count. [#1196][groonga-dev,0653] [Reported by Kaneoka]
Thanks#
Kazuhiko Shiozaki
Arnaud Fontaine
Kaneoka
nobody
Koichi Shishikura
Release 1.10 - 2011/11/29#
Since this release, this project and product is called “mroonga” instead of “groonga storage engine”.
This release introduces MariaDB support and fixes several bugs.
Improvements#
rename to “mroonga” from “groonga storage engine”. #1170
add groonga_libgroonga_version and groonga_version variables. #1158
information_schema.plugins.plugin_version returns mroonga’s version. #1157
add groonga_log_file variable. #1178 [Suggested by nobody]
FLUSH STATUS flushes groonga_* status variables. #1166 [Reported by Kazuhiko]
support TRUNCATE TABLE #1151. [Suggested by Takahiro Nagai]
support ALTER TABLE #1168.
support MariaDB 5.2.9. #1152 [Reported by Kazuhiko]
support MariaDB 5.3.2-beta. #1152 [Reported by Kazuhiko]
[rpm] split document package.
improve memory allocation for string system variables.
use PLUGIN_LICENSE_GPL. [Suggested by Kazuhiko]
remove needless MeCab related configurations.
support FOUND_ROWS() and SQL_CALC_FOUND_ROWS. #1163 [Reported by Horikoshi Yuki]
support table name that contains ‘-’. #1165 [Reported by nobody]
support inplace index change on MySQL 5.1.
[deb] support i386.
[rpm] support i386.
Fixes#
[storage mode] fix a bug that REPLACE INTO with TEXT column does not work. #1153 [Reported by Kazuhiko]
[wrapper mode] fix a bug that INSERT inside LOCK TABLE does not work with InnoDB. #1154 [Reported by Kazuhiko]
fix a bug that using ORDER and LIMIT returns a wrong result. #1161 [Reported by Horikoshi Yuki]
fix a crash bug when FORCE INDEX with unknown key is used. #1181 [Reported by Takahiro Nagai]
Thanks#
Kazuhiko
Horikoshi Yuki
nobody
Takahiro Nagai
Release 1.0.1 - 2011/10/29#
The important changes in this release are the enhancement of geolocation search and the improvement of dynamic index modification in storage mode.
Improvements#
[storage mode][wrapper mode] support reopening a database by flush tables.
[wrapper mode] support geolocation index. (Only Point type can be stored in a column. Search using index is only available for MBRContains).
[benchmark] add groonga_dry_write variable to specify not to write to groonga database, that is useful to check bottle necks in benchmarks.
mention MySQL version in the installation guide for CentOS 6. [proposed by @yoshi_ken]
[geolocation] improve performance by skip needless processes.
add –disable-fast-mutexes configure option to ignore fast mutexes even if mysql_config says it is enabled.
[storage mode] support create index.
[storage mode] support drop index.
[storage mode] support multi columns index for full text search.
support D pragma.
support MySQL 5.5.17.
support MySQL 5.6.3-m6.
support groonga 1.2.7. (1.2.6 or below are no longer supported).
support Ubuntu 11.10 Oneiric Ocelot.
Fixes#
fix a bug that we have no results if we specify ‘+’ at the beginning of the query in boolean mode. [reported by Hajime Nishiyama]
[Fedora] fix package dependencies. [reported by Takahiro Nagai]
[Fedora] fix a problem that we get undefined symbol error when the plugin is loaded. [reported by Takahiro Nagai]
[storage mode] fix a bug that index will not be correctly created if varchar is used in a multi-column index. #1143 [reported by Takahiro Nagai]
Thanks#
@yoshi_ken
Hajime Nishiyama
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 変数を追加。
[ラッパーモード] ストレージモードで実装している order と limit が指定された場合に必要のないレコードを返さないようにする高速化に対応。
[ストレージモード] 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さん