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_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 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_table
option: Specifies table that store a result ofselect
.--load_values
option: Specifies columns of result ofselect
.--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 about detailed changes since 9.0.0
Let's search by Groonga!