Yasuhiro Horimoto 2019-03-29 09:51:29 +0900 (Fri, 29 Mar 2019) Revision: e80b04b29b7db6dbe1aaacc07324fcfe138714a3 https://github.com/groonga/groonga.org/commit/e80b04b29b7db6dbe1aaacc07324fcfe138714a3 Message: blog en: add release announce for 9.0.1 Added files: en/_posts/2019-03-29-groonga-9.0.1.md Added: en/_posts/2019-03-29-groonga-9.0.1.md (+193 -0) 100644 =================================================================== --- /dev/null +++ en/_posts/2019-03-29-groonga-9.0.1.md 2019-03-29 09:51:29 +0900 (9f8aed25b) @@ -0,0 +1,193 @@ +--- +layout: post.en +title: Groonga 9.0.1 has been released +description: Groonga 9.0.1 has been released! +published: false +--- + +## Groonga 9.0.1 has been released + +[Groonga 9.0.1](/docs/news.html#release-9-0-1) has been released! + +How to install: [Install](/docs/install.html) + +### Changes + +Here are important changes in this release: + +* [select](/docs/reference/commands/select.html) Added new argument ``--load_table``, ``--load_columns`` and ``--load_values``. + +* Added ``index_column_diff`` command to check broken index column. (This feature is during verification.) + +* Fixed a bug that deleted records may be matched because of updating indexes incorrectly. + + * It may occure when large number of records is added or deleted. + +* Fixed a memory leak when ``logical_range_filter`` returns no records. + +* Fixed a bug that query will not match because of loading data is not normalized correctly. + + * This bug occurs when load data contains whitespace after KATAKANA and ``unify_kana`` option is used for tokenizer. + +* Fixed a bug that an indexes is broken during updating indexes. + + * It may occurs when repeating to add large number of records or delete them for a long term. + +* Fixed a crash bug that allocated working area is not enough size when updating indexes. + +### [select](/docs/reference/commands/select.html) Added new argument `--load_table`, `--load_columns` and `--load_values`. + +We can store a result of `select` in a table that specifying `--load_table`. + +`--load_values` option specifies columns of result of `select`. + +`--load_columns` options specifies columns of table that specifying `--load_table`. + +In this way, we can store values of columns that specifying with `--load_values` into columns that specifying with `--load_columns`. + +For example, we can store `_id` and `timestamp` that a result of `select` in a Logs table specified by `--load_table` as below. + +``` +table_create Logs_20150203 TABLE_HASH_KEY ShortText +column_create Logs_20150203 timestamp COLUMN_SCALAR Time + +table_create Logs TABLE_HASH_KEY ShortText +column_create Logs original_id COLUMN_SCALAR UInt32 +column_create Logs timestamp_text COLUMN_SCALAR ShortText + +load --table Logs_20150203 +[ +{ + "_key": "2015-02-03:1", + "timestamp": "2015-02-03 10:49:00" +}, +{ + "_key": "2015-02-03:2", + "timestamp": "2015-02-03 12:49:00" +} +] + +select \ + --table Logs_20150203 \ + --load_table Logs \ + --load_columns "original_id, timestamp_text" \ + --load_values "_id, timestamp" +[ + [ + 0, + 0.0, + 0.0 + ], + [ + [ + [ + 2 + ], + [ + [ + "_id", + "UInt32" + ], + [ + "_key", + "ShortText" + ], + [ + "timestamp", + "Time" + ] + ], + [ + 1, + "2015-02-03:1", + 1422928140.0 + ], + [ + 2, + "2015-02-03:2", + 1422935340.0 + ] + ] + ] +] + +select --table Logs +[ + [ + 0, + 0.0, + 0.0 + ], + [ + [ + [ + 2 + ], + [ + [ + "_id", + "UInt32" + ], + [ + "_key", + "ShortText" + ], + [ + "original_id", + "UInt32" + ], + [ + "timestamp_text", + "ShortText" + ] + ], + [ + 1, + "2015-02-03:1", + 1, + "1422928140000000" + ], + [ + 2, + "2015-02-03:2", + 2, + "1422935340000000" + ] + ] + ] +] +``` + +### Added ``index_column_diff`` command to check broken index column. (This feature is during the verification.) + +We can check the broken index by this command. However, this feature has been during the verification yet. + +This command compares values of an index column to tokenized an index source values and display diff of them. + +We can use this command as below. + + * We specify the name of an index table name includes an index column of a target in the first argument. + * We specify the index name of the target in the second argument. + +``` +index_column_diff index_table_name index_column_name +``` + +result of this command have three items as below + +* ``token`` : This item shows broken token. +* ``remains`` : This item shows it has remained posting-list in index unintentionally. +* ``missings`` : This item shows it has been deleted posting-list in index unintentionally. + +If indexes are normal, this command returns empty value as below. + +``` +index_column_diff --table Term --name data_index +[[0,1553654816.796513,0.001804113388061523],[]] +``` + +### Conclusion + +See [Release 9.0.1 2019-03-29](/docs/news.html#release-9-0-1) about detailed changes since 9.0.0 + +Let's search by Groonga! -------------- next part -------------- An HTML attachment was scrubbed... URL: <https://lists.osdn.me/mailman/archives/groonga-commit/attachments/20190329/77d2e1f7/attachment-0001.html>