News - 10 series

Release 10.11 - 2021-01-29

Improvements

  • Added support for lexicon_flags parameter.

    • We can add KEY_LARGE flag to a USING HASH (non full-text search index) index as below by this parameter.

      CREATE TABLE memos (
        id INT UNSIGNED PRIMARY KEY,
        title VARCHAR(64) NOT NULL,
        UNIQUE INDEX (title) USING HASH COMMENT 'lexicon_flags "KEY_LARGE"'
      ) DEFAULT CHARSET=utf8mb4;
      
  • [CentOS] Added support for MySQL 5.6.51, 5.7.33, and 8.0.23.

    • There are below restrictions in the MySQL 8.0 package.

Fixes

  • [Optimizations] Fixed a bug that the fast order limit optimization doen’t work when “WHERE COLUMN IN (SUBQUERY)” exists.

  • Fixed a bug that we can’t use in place ALTER TABLE when we modify the data type of a column that has any indexes.

    • This bug occur when we execute ALTER TABLE in ALGORITHM=INPLACE. Therefore, this bug doesn’t occur when we use ALTER TABLE in ALGORITHM=COPY

Release 10.10 - 2020-12-29

Improvements

  • [Storage mode] Added support for customize table flags. [Gitter][Reported by Shinichi Takayanagi]

    • Until now, we can’t customize table flags in storage mode.

    • We can customize table flags as below since this release.

      CREATE TABLE terms (
        term VARCHAR(64) NOT NULL PRIMARY KEY
      ) COMMENT='flags "TABLE_HASH_KEY|KEY_LARGE"'
        DEFAULT CHARSET=utf8mb4;
      
    • Please refer to the following URL about customizable items.

  • [Ubuntu] Added support for Ubuntu 20.10 (Groovy Gorilla).

  • [CentOS] Added support for Percona Server 8.0.22.

Thanks

  • Shinichi Takayanagi

  • pinpikokun [Provided the patch at GitHub#373]

Release 10.09 - 2020-12-04

Improvements

  • [CentOS] Added support for MariaDB 10.2.36, 10.3.27, 10.4.17, and 10.5.8

  • [CentOS] Added support for Percona Server 5.6.50, 5.7.32, and 8.0.21.

  • [CentOS] Added support for MySQL 5.6.50, 5.7.32, and 8.0.22.

    • There are below restrictions in the MySQL 8.0 package.

  • Dropped support for MariaDB 10.1 except Ubuntu 18.04 LTS.

    • Because MariaDB 10.1 is EOL.

    • However, we have only supported MariaDB 10.1 for Ubintu 18.04 LTS

      • Because MariaDB 10.1 has supported yet on it.

  • Dropped support for CentOS 6.

    • Because CentOS 6 is EOL.

  • [mroonga_snippet_html()] Added support for customizing normalizer.

    • We can use custom normalizer instead of the default normalizer(NromalizerAuto) by using table_name and index_name.

      • We specify target table name to table_name as below.

      • We specify index name that is specified on target table to index_name as below.

      SET NAMES utf8mb4;
      
      CREATE TABLE memos (
      content text,
      fulltext index content_index (content)
      COMMENT 'normalizer "NormalizerNFKC121(\'unify_kana\', true)"'
      ) DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
      
      SELECT mroonga_snippet_html('This is Mroonga(ムルンガ).',
      'memos' as table_name,
      'content_index' as index_name,
      'むるんが') as snippet;
      
      snippet
      <div class="snippet">This is Mroonga(<span class="keyword">ムルンガ</span>).</div>
      
      • We can also use mixing search by query and search by keywords by this modification.

      • For example as below, we can highlight keywords that we both specify by AS query and AS snippet.

        SET NAMES utf8mb4;
        SELECT mroonga_snippet_html('Mroonga has two running modes.
        
        One is “storage mode”, that is the default mode, and we use Groonga for both storing data and searching. With this mode, you can have full benefits of Groonga described above, like fast data update, lock-free full text search and geolocation search. But it does not support transactions.
        
        Another one is “wrapper mode”, that adds full text search function on other storage engines like MyISAM or InnoDB. With this mode, you can use Groonga’s fast full text search with having the benefits of the storage engine, ex. transaction in InnoDB. But you cannot have benefits from Groonga’s read-lock free characteristic. And you might have the performance bottle neck in the storage engine in updating data.',
        'lock storage' AS query,
        'update' AS snippet;
        
        snippet
        <div class="snippet"><span class="keyword">storage</span> mode”, that is the default mode, and we use Groonga for both storing data and searching. With this mode, you can have full benefits of Groonga described above, like fast data <span class="keyword">update</span>, <span class="keyword">lock</span>-fr</div><div class="snippet">text search function on other <span class="keyword">storage</span> engines like MyISAM or InnoDB. With this mode, you can use Groonga’s fast full text search with having the benefits of the <span class="keyword">storage</span> engine, ex. transaction in In</div><div class="snippet">noDB. But you cannot have benefits from Groonga’s read-<span class="keyword">lock</span> free characteristic. And you might have the performance bottle neck in the <span class="keyword">storage</span> engine in updating data.</div>
        

Release 10.07 - 2020-10-02

Improvements

  • [CentOS] Added support for MariaDB 10.5.5

  • Added new tests that use > 256 byte strings in the column compression tests. [GitHub#350][Patched by KartikSoneji]

Thanks

  • KartikSoneji

Release 10.06 - 2020-09-02

Improvements

Note

We removed the news that “Added support for MariaDB 10.5.5”.

At first, we announced that “Added support for MariaDB 10.5.5”. However, it had been wrong. Mroonga 10.06 can build on MariaDB 10.5. However, there are points that are not working normally yet.

  • [Ubuntu] Dropped Ubuntu 19.10 (Eoan Ermine) support.

  • [CentOS] Added support for Percona Server 8.0.20.

  • [CentOS] Added support for MariaDB 10.1.46, 10.2.33, 10.3.24, and 10.4.14.

  • Modify how to install into Debian GNU/Linux.

    • We modify to use groonga-apt-source instead of groonga-archive-keyring.

    • Because the lintian command recommends using apt-source if a package that it puts files under the /etc/apt/sources.lists.d/.

      • The lintian command is the command which checks for many common packaging errors.

      • Please also refer to the following for the details about installation procedures.

  • [CentOS] Added support for Percona Server 5.7.31.

Release 10.05 - 2020-07-29

Improvements

  • [CentOS] Added support for MySQL 5.6.49, 5.7.31, and 8.0.21.

    • There are below restrictions in the MySQL 8.0 package.

  • [CentOS] Added support for Percona Server 5.6.49.

Release 10.03 - 2020-05-29

Improvements

  • [Ubuntu] Added support for Ubuntu 20.04 (Focal Fossa) support.

  • [Ubuntu] Dropped Ubuntu 19.04 (Disco Dingo) support.

  • [CentOS] Added support for MariaDB 10.1.45, 10.2.32, 10.3.23, and 10.4.13.

  • [CentOS] Added support for Percona Server 5.6.48 and 5.7.30.

  • Dropped support for MariaDB 10.1 in Windows.

    • Because MariaDB 10.1 will be EOL soon.

Fixes

  • [Ubuntu] Fixed a bug that Mroonga for Ubuntu 19.10 (Eoan Ermine) was not provided.

Release 10.02 - 2020-04-29

Improvements

  • Added support for WITH_WEIGHT column flag.

    • This flag require Groonga 10.0.2 or later.

    • We can insert vector with weight as below by this flag.

      CREATE TABLE tags (
        name VARCHAR(64) PRIMARY KEY
      ) DEFAULT CHARSET=utf8mb4;
      
      CREATE TABLE bugs (
        tags TEXT COMMENT 'flags "COLUMN_VECTOR|WITH_WEIGHT", type "tags"',
        FULLTEXT INDEX bugs_tags (tags) COMMENT 'table "tags", flags "WITH_WEIGHT"'
      ) DEFAULT CHARSET=utf8mb4;
      
      INSERT INTO bugs VALUES ('{"package": 100, "priority": 5}');
      
  • Dropped support for MariaDB 5.5 in CentOS7.

  • [CentOS] Added support for MySQL 5.6.48, 5.7.30, 8.0.20

Release 10.01 - 2020-03-30

Improvements

  • [CentOS] Added support for Percona Server 5.7.29.

Fixes

Thanks

  • pinpikokun