Release 2.02 - 2012/04/29
Caution
The package sign key is changed since this release. Import the new
package sign key before updating groogna packages.
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
Caution
This release breaks a backward compatibility for ENUM type. If
you have ENUM type and it has 256 or more values, you need to
dump your table before upgrade and restore your table after
upgrade.
Caution
This release breaks a backward compatibility for SET type. If
you have SET type and it has 32 or more values, you need to
dump your table before upgrade and restore your table after
upgrade.
Improvements
- Added workaround for build for GCC 4.7 and MySQL 5.5.22.
The combination makes build error with -Wdeprecated gcc
option. [#1337] [Reported by Kazuhiko Shiozaki]
- [mariadb] Supported MariaDB 5.5.23.
[#1339] [Reported by Kazuhiko Shiozaki] [Reported by Ryo Onodera]
- [storage mode] Stopped needless primary key truncated warning on
REPLACE.
- [storage mode] Supported search ENUM values by index. [#1336]
[Suggested by @104yuki_n]
- [incompatible] Changed groonga type for ENUM to unsigned 2bytes
integer type from signed 2bytes integer type. ENUM column
recreation is needed.
- [incompatible] Changed groonga type for SET to unsigned 8bytes
integer type from signed 8bytes integer type. SET column
recreation is needed.
- Supported MySQL 5.5.23.
- Required groonga 2.0.2 or later.
- [incompatible][experimental] Changed to use similar search instead
of phrase search for MATCH AGAINST IN NATURAL LANGUAGE MODE.
- [apt][yum] Changed package sign key.
- Supported Ubuntu 12.04 Precise Pangolin.
Fixes
- [storage mode] Fixed wrong key length is used.
- Fixed a crash bug that is caused when searching with updaging very large
inverted index. [#1321]
[groonga-dev,00743] [Reported by Takashi Kawano]
[groonga-dev,00746] [Reported by Takken Ishibashi]
- Fixed a bug that truncated table has invalid tokenizer and encoding.
[#1335] [Reported by @boss_sato]
- Fixed a bug that the first insert is failed with Spider and mroonga
combination. [#1319] [groonga-dev,00736] [Reported by Takayuki Honda]
Thanks
- Takashi Kawano
- @boss_sato
- Kazuhiko Shiozaki
- Ryo Onodera
- @104yuki_n
- Takayuki Honda
- Takken Ishibashi
Release 2.00 - 2012/02/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:
- Supported all characters for database, table and column
names.
- Groonga's native time data type is used for YEAR type
in MySQL.
Here are upgrade sequence.
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
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 2.00.
Improvements
- Supported MySQL 5.5.21.
- Required groonga 2.0.0 or later.
- Supported TIMESTAMP with fractional seconds on MySQL 5.6 and MariaDB.
- [storage mode] Supported ORDER LIMIT optimization on no primary key.
- [storage mode] Supported ORDER LIMIT optimization with
fulltext search and COLUMN = INT_VALUE.
- [storage mode] Supported fulltext search in sub query.
[Reported by @camyuy]
- [incompatible] Mapped YEAR in MySQL to Time in
groonga to improve groonga integration.
- [storage mode] Removed a needless write lock on update.
[#1271] [Reported by Takahiro Nagai]
- Added mroonga_enable_optimization system variable to
on/off optimization. It's useful for benchmark.
- [wrapper mode] Supported temporary table. [#1267]
- [incompatible] Supported / in database name. [#1281]
- Suppressed needless messages on INSERT ... ON DUPLICATE
KEY UPDATE.
- Supported INSERT ... ON DUPLICATE KEY UPDATE with
UNIQUE KEY. [#1283] [Reported by @104yuki_n]
- Supported DATETIME, DATE, TIMESTAMP, TIME,
DECIMAL, YEAR for primary key.
- [incompatible] Supported all characters for database, table and
column names. [#1284]
- [wrapper mode] Supported 255 bytes over index. [#1282]
- [wrapper mode] Supported updating primary key. [#1195]
- [wrapper mode] Supported error handling on ALTER TABLE. [#1195]
- [wrapper mode] Improved error message on unsupported
geometry type like LineString. [#1195]
- [wrapper mode] Supported
INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS. [#1195]
Fixes
- [rpm] Changed to ensure re-install plugin.
- [doc] Fixed wrong storage engine name. [Reported by Tomoatsu Shimada]
Thanks
- @camyuy
- Takahiro Nagai
- Tomoatsu Shimada
- @104yuki_n
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.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