News - 2 series — Mroonga vmrn_version documentation

Skip to main content
`Ctrl`+`K`

# News - 2 series

## Release 2.10 - 2012/12/29

### Improvements

- Supported to use ENABLE KEYS/DISABLE KEYS against table whose charset is different from system charset. [Reported by @kokoronavi]

- Improved to show the value of duplicated key on error message.

- Supported MySQL 5.6.9-rc. [#1547] [#1548] [Reported by wing]

- [storage] Supported to use `GROUP BY` with index. This change improves search speed against `GROUP BY`.

- Dropped Ubuntu 11.04 (Natty Narwhal) support.

### Fixes

- [rpm][centos] Fixed to use MySQL 5.1.66-2 on CentOS 6. [Reported by @wakisuke.ua]

- Fixed a bug that `MATCH AGAINST` with `INNER JOIN` syntax causes an error. [Reported by ooshiro]

### Thanks

- @kokoronavi

- @wakisuke.ua

- wing

- ooshiro

## Release 2.09 - 2012/11/29

Caution

This release has backward incompatible changes against `TIMESTAMP` value and primary indexed char(N).

`TIMESTAMP` value is changed to store as UTC timezone. If you have any table that uses `TIMESTAMP` column with no UTC timezone, please recreate (dump and restore) database.

If you have any table that uses char(N) as primary key, please recreate index.

Here is a procedure how to recreate database or recreate index.

Dump a database that uses mroonga:

    % mysqldump MY_MROONGA_DATABASE > database-mroonga.dump

Restore a database by modified dump file:

    % mysql -u root MY_MROONGA_DATABASE < database-mroonga.dump

Recreate a index:

    mysql> ALTER TABLE table_name DROP PRIMARY KEY;
    mysql> ALTER TABLE table_name ADD PRIMARY KEY(column_name);

### Improvements

- [rpm][centos] Supported MySQL 5.5.28 on CentOS 5.

- [rpm][centos] Supported MySQL 5.1.61 on CentOS 6.

- [wrapper mode] Supported last_insert_id() [#1540] [Reported by @soundkitchen]

### Fixes

- [mysql51] Fixed crash bug by checking existence of utf8mb4. MySQL 5.1 doesn’t have utf8mb4. [groonga-dev,01069] [Reported by wakisuke]

- [storage mode] Fixed impossible deleting problem that matched records. [#1533] [Reported by @HANZUBON]

- Fixed a bug that primary indexed char(N) can’t be searched. This bug affects if any value of char(N) has M-length (M < N) string or it has one more spaces at the last and require index recreation.

- Fixed a bug that content after NULL character is ignored for char(N)

- Fixed to store `TIMESTAMP` value as UTC timezone. This is backward incompatible change.

### Thanks

- @soundkitchen

- wakisuke

- @HANZUBON

## Release 2.08 - 2012/10/29

Caution

This release has a backward incompatible change against multiple column index. If you have any tables that uses any multiple comlumn indexes against VARCHAR or CHAR, please recreate those indexes by `ALTER TABLE DISABLE KEYS` and `ALTER TABLE ENBALE KEYS`:

    mysql> ALTER TABLE table_name DISABLE KEYS;
    mysql> ALTER TABLE table_name ENABLE KEYS;

### Improvements

- [storage mode] Supported `INFORMATION_SCHEMA.TABLES.DATA_LENGTH`. [Suggested by @9m]

- Supported utf8mb4. [groonga-dev,01049] [Reported by warp kawada]

- Supported Ubuntu 12.10 (Quantal Quetzal)

- [rpm][fedora] Supported MySQL 5.5.28.

### Fixes

- [storage mode] Fixed unique judge problem of multiple column unique index with date column. [groonga-dev,01041] [#1495] [Reported by jd fonc]

- Fixed a bug that `WHERE index < XXX ORDER BY DESC` doesn’t sort by descending. [Reported by @taro252]

- [rpm] Fixed missing `DROP FUNCTION mroonga_snippet`. [Reported by @tokuhy]

- Fixed range search by multi column index by int.

- [doc] Fixed wrong command line operation during build process. [groonga-dev,01061] [Reported by Kazuhiro Isobe]

### Thanks

- @9m

- warp kawada

- jd fonc

- @taro252

- @tokuhy

- Kazuhiro Isobe

## Release 2.07 - 2012/09/29

### Improvements

- [deb] Enabled AppArmor configuration for MeCab. [Reported by @Qurage]

- [storage mode][experimental] Added mroonga_snippet() function. [#1442]

### Fixes

- [rpm] Fixed `groonga_required_version`. [groonga-dev,01033] [Reported by wing]

- Fixed datetime out of range problems. [groonga-dev,01035] [#1476] [Reported by Nakatani Munetaka]

### Thanks

- @Qurage

- wing

- Nakatani Munetaka

## Release 2.06 - 2012/08/29

Caution

This release has a backward compatibility about a database. But this release depends on new functionality introduced at groonga 2.0.6. Note that you must use mroonga 2.06 with groonga 2.0.6.

### Improvements

- Supported “-WORD” syntax in BOOLEAN MODE.

### Fixes

- Fixed nallowing records by “order by” clause with fulltext condition. [groonga-dev,00977] [#1422] [Reported by Nakatani Munetaka]

- Removed needless build flags. [#1453] [Reported by @nabebeb]

- [rpm][centos] Fixed missing mysql-devel BuildRequires. [groonga-dev,01009] [Reported by wing]

### Thanks

- @nabebeb

- wing

- Nakatani Munetaka

## Release 2.05 - 2012/07/29

Caution

This release has a backward incompatible change against SET column and ENUM. If you use SET column or ENUM that has the number of elements < 256 in Storage mode, please recreate (dump and restore) database.

Here is upgrade sequence.

Dump a database that uses mroonga:

    % mysqldump MY_MROONGA_DATABASE > database-mroonga.dump

Drop the existing database:

    % mysql -u root -e 'DROP DATABASE MY_MROONGA_DATABASE'

You must upgrade to “mroonga” storage engine. 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 (upgrade from mroonga release prior to v2.02):

    % sudo yum remove -y mysql-mroonga
    % sudo yum install -y mysql-mroonga

yum (upgrade from mroonga release v2.03 or later):

    % sudo yum install -y mysql-mroonga

Caution

Don’t forget to run `yum remove` before `yum install` if you upgrade mroonga prior to v2.02 release. If you forget to run `yum remove`, we will break a MySQL’s system table.

Recreate a database:

    % mysql -u root -e 'CREATE DATABASE MY_MROONGA_DATABASE'

Restore a database by modified dump file:

    % mysql -u root MY_MROONGA_DATABASE < database-mroonga.dump

Now, we can use mroonga 2.05.

### Improvements

- [storage mode] Supported index for SET column.

- [rpm] Supported MySQL 5.5.25a.

- Supported Fedora 17.

- Dropped Fedora 16 support.

- [storage mode] Supported TINYINT UNSIGNED/SMALLINT UNSIGNED/ MEDIUMINT UNSIGNED/INT UNSIGNED/BIGINT UNSIGNED type.

- [storage mode] Reduced storage size for ENUM.

## Release 2.04 - 2012/06/29

### Improvements

- [wrapper mode] Supported disable/enable keys in bulk insert. [#1311]

### Fixes

- Fixed to disable query cache with transaction. [#1384]

- Disabled partition explicitly. [#1391]

- [rpm][deb] Fixed to ensure deleting mroonga plugin from `mysql.plugin` table before install. [groonga-dev,00948] [Suggested by Kazuhiro Isobe]

- Fixed a crash bug by setting nonexistent path to `mroonga_log_file` variable. [#1404] [Reported by @nabebeb]

- [experimental] Supported mroonga related data path change. [groonga-dev,00914] [#1392] [Suggested by Kazuhiro Isobe]

### Thanks

- Kazuhiro Isobe

- @nabebeb

## Release 2.03 - 2012/05/29

Caution

This release has a backward incompatible change against multiple column index. If you have any tables that uses Storage mode and any multiple comlumn indexes, please recreate those indexes by `ALTER TABLE DISABLE KEYS` and `ALTER TABLE ENBALE KEYS`:

    mysql> ALTER TABLE table_name DISABLE KEYS;
    mysql> ALTER TABLE table_name ENABLE KEYS;

### Improvements

- [storage mode] Supported disable/enable keys in bulk insert. [#1310]

- [rpm][centos] Supported MySQL 5.5.24.

- [rpm][fedora] Supported MySQL 5.5.23.

- Added mroonga_match_escalation_threshold system variable.

- Required groonga 2.0.3 or later.

- [yum] Changed RPM package name that provides yum repository from groonga-repository to groonga-release to follow RPM package name convension such as centos-release and fedora-release.

- [mac os x] Supported installing by Homebrew. See Install about details.

### Fixes

- Fixed build failure on Mac OS X.

- [wrapper mode] Fixed a bug that searching in transaction reports not found error. [#1322][groonga-dev,00746] [Reported by Takken Ishibashi]

- [rpm] Fixed a bug that mroonga plugin is unregistered when upgrading. [groonga-dev,00810] [Reported by Takken Ishibashi] [Patch by Iwai, Masaharu]

- Fixed a bug that row based replication transfers wrong data on MySQL 5.5 or earlier. [#1379][groonga-dev,00902] [Reported by Kenji Doi]

### Thanks

- Takken Ishibashi

- Iwai, Masaharu

- Kenji Doi

## 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.01 - 2012/03/29

### Improvements

- Supported MySQL 5.5.22.

- Supported MySQL 5.1.62.

- Required groonga 2.0.1 or later.

- [rpm] Improved plugin uninstall on upgrade.

- [rpm] Improved plugin uninstall on upgrade.

- [wrapper mode] Supported `INSERT ON DUPLICATE KEY ERROR` with MyISAM. [#1300] [Reported by @104yuki_n]

- [wrapper mode] Used wrapped table’s `table_flags()` correctly. [#1304]

- Added `--with-valgrind` configure option for MySQL that enables Valgrind support.

- [mariadb] Supported `DATETIME` type with fraction seconds.

- Supported building without geometry support. [#1313] [Reported by Kazuhiko]

- [storage mode] Supported multiple column index with optimization build flags on i386 environment. [Reported by Kazuhiko]

- [wrapper mode] Confirmed InnoDB tests are passed with wrapper mode.

- [solaris] Supported build on Solaris 11. [Reported by Kazuhiko]

- [mariadb55] Supported `mroonga_default_parser` with MariaDB 5.5. [#1314] [Reported by Kazuhiko]

- [mariadb55] Supported `ORDER LIMIT` optimization with MariaDB 5.5. [#1315] [Reported by Kazuhiko]

- [doc] Added about MeCab.

- [storage mode] Supported index search for 0 value. [Reported by @104yuki_n]

- [storage mode] Supported Ubuntu Hardy with optimize build flags. [Reported by Kazuhiko]

- Added logos .

- Updated HTML design.

### Fixes

- [storage mode] Fixed a memory leak.

- [storage mode] Fixed a bug that search by multi column index may not return some found records. [#1300] [Reported by @ytaka5]

- [storage mode] Fixed a bug that `COUNT (*)` isn’t effective. [groonga-dev,00717] [Reported by Takayuki Honda]

- Fixed a memory leak on `DROP DATABASE`.

- [storage mode] Fixed a bug that `last_insert_grn_id()` may return broken value on 32bit environment. [Reported by Kazuhiko]

- [storage mode] Fixed a bug that `COUNT (*)` may return 0. [groonga-dev,00736] [Reported by Takayuki Honda]

### Thanks

- @ytaka5

- @104yuki_n

- Takayuki Honda

- Kazuhiko

## 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:

1. Supported all characters for database, table and column names.

2. 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