News
Release 7.0.3 - 2017-05-29
Improvements
- [select] Add document about
Full text search with specific index name.
- [index] Supported to log warning message which record causes posting
list overflows.
- [load][dump]
Supported Apache Arrow. [GitHub#691]
- [cmake] Supported linking lz4 in embedded static library build.
[Original patch by Sergei Golubchik]
- [delete] Supported to cancel.
- [httpd] Updated bundled nginx to 1.13.0
- Exported the following API
- grn_plugin_proc_get_caller()
- Added index column related function and selector.
- Added new selector: index_column_df_ratio_between()
- Added new function: index_column_df_ratio()
Fixes
- [delete] Fixed a bug that error isn't
cleared correctly. It affects to following deletions so that it
causes unexpected behavior.
- [windows] Fixed a bug that IO version is not detected correctly when the
file is opened with
O_CREAT
flag.
- [vector_slice] Fixed a bug that non 4
bytes vector columns can't slice. [GitHub#695] [Patch by Naoya
Murakami]
- Fixed a bug that non 4 bytes fixed vector column can't sequential
match by specifying index of vector. [GitHub#696] [Patch by Naoya
Murakami]
- [logical_select] Fixed a bug that
"argument out of range" occurs when setting last day of month to the
min. [GitHub#698]
Release 7.0.2 - 2017-04-29
Fixes
- [logical_select] Fixed a bug that wrong
cache is used. This bug was occurred when dynamic column parameter
is used.
- [logical_select] Fixed a bug that dynamic
columns aren't created. It's occurred when no match case.
- [reindex] Fixed a bug that data is lost
by reindex. [GitHub#646]
- [httpd] Fixed a bug that response of quit
and shutdown is broken JSON when worker is
running as another user. [GitHub ranguba/groonga-client#12]
Release 7.0.1 - 2017-03-29
Improvements
- Exported the following API
- grn_ii_cursor_next_pos()
- grn_table_apply_expr()
- grn_obj_is_data_column()
- grn_obj_is_expr()
- grn_obj_is_scalar_column()
- [dump] Supported to dump weight reference
vector.
- [load] Supported to load
array<object>
style weight vector column. The example of
array<object>
style is: [{"key1": weight1}, {"key2":
weight2}]
.
- Supported to search
!(XXX OPERATOR VALUE)
by index. Supported
operator is not only >
but also >=
, <
, <=
, ==
and !=
.
- Supported index search for "!(column == CONSTANT)". The example in
this case is:
!(column == 29)
and so on.
- Supported more "!" optimization in the following patterns.
!(column @ "X") && (column @ "Y")
(column @ "Y") && !(column @ "X")
(column @ "Y") &! !(column @ "X")
- Supported to search
XXX || !(column @ "xxx")
by index.
- [dump] Changed to use
'{"x": 1, "y":
2}'
style for not referenced weight vector. This change doesn't
affect to old Groonga because it already supports one.
- [experimental] Supported
GRN_ORDER_BY_ESTIMATED_SIZE_ENABLE
environment variable. This variable controls whether query
optimization which is based on estimated size is applied or not.
This feature is disabled by default. Set
GRN_ORDER_BY_ESTIMATED_SIZE_ENABLE=yes
if you want to try it.
- [select] Added query log for
columns
,
drilldown
evaluation.
- [select] Changed query log format for
drilldown
. This is backward incompatible change, but it only
affects users who convert query log by own programs.
- [table_remove] Reduced temporary memory
usage. It's enabled when the number of max threads is 0.
- [select]
columns[LABEL](N)
is used
for query log format instead of columns(N)[LABEL]
..
- [Query expansion] Updated example to use vector
column because it is recommended way. [Reported by Gurunavi, Inc]
- Supported to detect canceled request while locking. It fixes the
problem that
request_cancel
is ignored unexpectedly while locking.
- [logical_select] Supported
initial
and filtered
stage dynamic columns. The examples are:
--columns[LABEL].stage initial
or --columns[LABEL].stage
filtered
.
- [logical_select] Supported
match_columns
, query
and drilldown_filter
option.
- [highlight_html] Supported similar
search.
- [logical_select] Supported
initial
and stage dynamic columns in labeled drilldown. The example is:
--drilldowns[LABEL].stage initial
.
- [logical_select] Supported window
function in dynamic column.
- [select] Added documentation about
dynamic columns.
- [Window function] Added section about window
functions.
- [CentOS] Dropped CentOS 5 support because of EOL.
- [httpd] Updated bundled nginx to 1.11.12
- Supported to disable AND match optimization by environment variable.
You can disable this feature by
GRN_TABLE_SELECT_AND_MIN_SKIP_ENABLE=no
. This feature is enable
by default.
- [vector_new] Added a new function to
create a new vector.
- [select] Added documentation about
drilldown_filter
.
Fixes
- [lock_clear] Fixed a crash bug against
temporary database.
- Fixed a problem that dynamically updated index size was increased
for natural language since Grooonga 6.1.4.
- [select] Fixed a bug that "A && B.C @ X"
may not return records that should be matched.
- Fixed a conflict with
grn_io_flush()
and
grn_io_expire()
. Without this change, if io_flush
and load
command are executed simultaneously in specific timing, it causes a
crash bug by access violation.
- [logical_table_remove] Fixed a crash bug
when the max number of threads is 1.
Release 7.0.0 - 2017-02-09
Improvements
- [in_values] Supported sequential search
for reference vector column. [Patch by Naoya Murakami] [GitHub#629]
- [select] Changed to report error instead
of ignoring on invalid
drilldown[LABEL].sort_keys
.
- [select] Removed needless metadata
updates on DB. It reduces the case that database lock remains
even though
select
command is executed. [Reported by aomi-n]
- [lock_clear] Changed to clear metadata lock
by lock_clear against DB.
- [CentOS] Enabled EPEL by default to install Groonga
on Amazon Linux.
- [query] Supported "@X" style in script
syntax for prefix("@^"), suffix("@$"), regexp("@^") search.
- [query] Added documentation about
available list of mode. The default mode is
MATCH
("@") mode
which executes full text search.
- [rpm][centos] Supported groonga-token-filter-stem package which
provides stemming feature by
TokenFilterStem
token filter on
CentOS 7. [GitHub#633] [Reported by Tim Bellefleur]
- [window_record_number] Marked
record_number
as deprecated. Use window_record_number
instead. record_number
is still available for backward
compatibility.
- [window_sum] Added
window_sum
window function. It's similar behavior to window function sum() on
PostgreSQL.
- Supported to construct offline indexing with in-memory (temporary)
TABLE_DAT_KEY
table. [GitHub#623] [Reported by Naoya Murakami]
- [onigmo] Updated bundled Onigmo to 6.1.1.
- Supported
columns[LABEL].window.group_keys
. It's used to apply
window function for every group.
- [load] Supported to report error on
invalid key. It enables you to detect mismatch type of key.
- [load] Supported
--output_errors yes
option. If you specify "yes", you can get errors for each load
failed record. Note that this feature requires command version 3.
- [load] Improve error message on table key
cast failure. Instead of "cast failed", type of table key and target
type of table key are also contained in error message.
- [httpd] Updated bundled nginx to 1.11.9.
Fixes
- Fixed a bug that nonexistent sort keys for
drilldowns[LABEL]
or
slices[LABEL]
causes invalid JSON parse error. [Patch by Naoya
Murakami] [GitHub#627]
- Fixed a bug that access to nonexistent sub records for group causes
a crash. For example, This bug affects the case when you use
drilldowns[LABEL].sort_keys _sum
without specifying
calc_types
. [Patch by Naoya Murakami] [GitHub#625]
- Fixed a crash bug when tokenizer has an error. It's caused when
tokenizer and token filter are registered and tokenizer has an
error.
- [window_record_number] Fixed a
bug that arguments for window function is not correctly
passed. [GitHub#634][Patch by Naoya Murakami]