Groonga 9.0.1 has been released
Groonga 9.0.1 has been released!
How to install: Install
Changes
Here are important changes in this release:
-
select Added new argument
--load_table,--load_columnsand--load_values. -
Added
index_column_diffcommand 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_filterreturns 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_kanaoption is used for normalizer.
- This bug occurs when load data contains whitespace after KATAKANA and
-
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 Added new argument --load_table, --load_columns and --load_values.
We can store a result of select in a table that specifying --load_table.
Explanation of arguments is below.
--load_tableoption: Specifies table that store a result ofselect.--load_valuesoption: Specifies columns of result ofselect.--load_columnsoptions: 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 about detailed changes since 9.0.0
Let's search by Groonga!