[Groonga-commit] groonga/groonga.org at 4c4114d [gh-pages] blog en: add 8.0.1 entry

Back to archive index

Yasuhiro Horimoto null+****@clear*****
Thu Mar 29 19:04:41 JST 2018


Yasuhiro Horimoto	2018-03-29 19:04:41 +0900 (Thu, 29 Mar 2018)

  New Revision: 4c4114d0f58f1af554e1cf63a1088e70f4b4ad1b
  https://github.com/groonga/groonga.org/commit/4c4114d0f58f1af554e1cf63a1088e70f4b4ad1b

  Message:
    blog en: add 8.0.1 entry

  Added files:
    en/_posts/2018-03-29-groonga-8.0.1.md

  Added: en/_posts/2018-03-29-groonga-8.0.1.md (+185 -0) 100644
===================================================================
--- /dev/null
+++ en/_posts/2018-03-29-groonga-8.0.1.md    2018-03-29 19:04:41 +0900 (b3972d17)
@@ -0,0 +1,185 @@
+---
+layout: post.en
+title: Groonga 8.0.1 has been released
+description: Groonga 8.0.1 has been released!
+published: false
+---
+
+## Groonga 8.0.1 has been released
+
+[Groonga 8.0.1](/docs/news.html#release-8.0.1) has been released!
+
+How to install: [Install](/docs/install.html)
+
+### Changes
+
+Here are important changes in this release:
+
+  * [[log](/docs/reference/log.html)] Show ``filter`` conditions in query log.
+  * [Windows] Install ``*.pdb`` into the directory where ``*.dll`` and ``*.exe`` are installed .
+  * [[logical_count](/docs/reference/commands/logical_count.html)] Support `filtered`
+  stage dynamic columns.
+  * [[logical_count](/docs/reference/commands/logical_count.html#post-filter)] Added a new filter timing.
+  * [[logical_select](/docs/reference/commands/logical_select.html#post-filter)] Added a new filter timing.
+  * [[logical_range_filter](/docs/reference/commands/logical_range_filter.html)] Optimize window function for large result set.
+  * [[select](/docs/reference/commands/select.html)] Added `--match_escalation` parameter.`
+  * [httpd] Updated bundled nginx to 1.13.10.
+  * Fixed memory leak that occurs when a prefix query doesn't match any token.
+  * Fixed a bug that a cache for different databases is used when multiple databases are opened in the same process.
+  * Fixed a bug that a constant value can overflow or underflow in comparison (>,>=,<,<=,==,!=).
+
+### [[log](/docs/reference/log.html)] Show ``filter`` conditions in query log.
+
+As a result, under what conditions you can see how many records were narrowed down.
+Specifically, below.
+
+```text
+2018-02-15 19:04:02.303809|0x7ffd9eedf6f0|:000000013837058 filter(17): product equal "test_product"
+```
+
+In the above example, we can 17 records were narrowed down by `product == "test_product"`.
+It's disabled by default. To enable it, you need to set an environment variable below.
+
+```
+GRN_QUERY_LOG_SHOW_CONDITION=yes
+```
+
+### [[logical_count](/docs/reference/commands/logical_count.html)] Support `filtered` stage dynamic columns.
+
+[logical_count](/docs/reference/commands/logical_count.html) is only support `initial` stage dynamic columns until now.
+You can use `filtered` stage dynamic columns in [logical_count](/docs/reference/commands/logical_count.html) also from this release.
+
+### [[logical_count](/docs/reference/commands/logical_count.html#post-filter)][[logical_select](/docs/reference/commands/logical_select.html#post-filter)] Added a new filter timing.
+
+It's executed after filtered stage generated columns are generated.
+Specifically, below.
+
+```text
+logical_select \
+    --logical_table Entries \
+    --shard_key created_at \
+    --columns[n_likes_sum_per_tag].stage filtered \
+    --columns[n_likes_sum_per_tag].type UInt32 \
+    --columns[n_likes_sum_per_tag].value 'window_sum(n_likes)' \
+    --columns[n_likes_sum_per_tag].window.group_keys 'tag' \
+    --filter 'content @ "system" || content @ "use"' \
+    --post_filter 'n_likes_sum_per_tag > 10' \
+    --output_columns _key,n_likes,n_likes_sum_per_tag
+
+  # [
+  #   [
+  #     0, 
+  #     1519030779.410312,
+  #     0.04758048057556152
+  #   ], 
+  #   [
+  #     [
+  #       [
+  #         2
+  #       ], 
+  #       [
+  #         [
+  #           "_key", 
+  #           "ShortText"
+  #         ], 
+  #         [
+  #           "n_likes", 
+  #           "UInt32"
+  #         ], 
+  #         [
+  #           "n_likes_sum_per_tag", 
+  #           "UInt32"
+  #         ]
+  #       ]
+  #       [
+  #         "Groonga", 
+  #         10, 
+  #         25
+  #       ], 
+  #       [
+  #         "Mroonga", 
+  #         15, 
+  #         25
+  #       ]
+  #     ]
+  #   ]
+  # ]
+```
+
+This feature's point that after `filtered` stage generated columns use in `--post_filter`.
+In the above example is `logical_select`'example, however it's available on the `logical_count` as well.
+
+### [[logical_range_filter](/docs/reference/commands/logical_range_filter.html)] Optimize window function for large result set.
+
+If we find enough matched records, we don't apply window function to the remaining windows.
+Disable this optimization for small result set if its overhead is not negligible.
+
+### [[select](/docs/reference/commands/select.html)] Added `--match_escalation` parameter.`
+
+You can force to enable match escalation by ``--match_escalation yes``.
+It's stronger than ``--match_escalation_threshold 99999....999`` because ``--match_escalation yes`` also works with ``SOME_CONDITIONS && column @ 'query'``.
+``--match_escalation_threshold`` isn't used in this case.
+
+The default is ``--match_escalation auto``. It doesn't change the current behavior.
+
+You can disable match escalation by ``--match_escalation no``.
+It's the same as ``--match_escalation_threshold -1``.
+
+### Fixed memory leak that occurs when a prefix query doesn't match any token.
+
+Fixed a memory leak that occurs when a prefix query doesn't match any token by fuzzy search as below example.
+
+```
+table_create Users TABLE_NO_KEY
+[[0,0.0,0.0],true]
+column_create Users name COLUMN_SCALAR ShortText
+[[0,0.0,0.0],true]
+table_create Names TABLE_PAT_KEY ShortText
+[[0,0.0,0.0],true]
+column_create Names user COLUMN_INDEX Users name
+[[0,0.0,0.0],true]
+load --table Users
+[
+{"name": "Tom"},
+{"name": "Tomy"},
+{"name": "Pom"},
+{"name": "Tom"}
+]
+[[0,0.0,0.0],4]
+select Users --filter 'fuzzy_search(name, "Atom", {"prefix_length": 1})'   --output_columns 'name, _score'   --match_escalation_threshold -1
+[[0,0.0,0.0],[[[0],[["name","ShortText"],["_score","Int32"]]]]]
+```
+
+### Fixed a bug that a cache for different databases is used when multiple databases are opened in the same process.
+
+Fixed a bug that when multiple databases are opened in the same process, results are returned from the cache of another database because the cache was shared within the process.
+
+### Fixed a bug that a constant value can overflow or underflow in comparison (>,>=,<,<=,==,!=).
+
+Fixed a bug that a constant value can overflow or underflow in comparison as below example.
+
+```
+table_create Values TABLE_NO_KEY
+[[0,0.0,0.0],true]
+column_create Values number COLUMN_SCALAR Int16
+[[0,0.0,0.0],true]
+load --table Values
+[
+{"number": 3},
+{"number": 4},
+{"number": -1}
+]
+[[0,0.0,0.0],3]
+select Values   --filter 'number > 32768'   --output_columns 'number'
+[[0,1522305525.361629,0.0003235340118408203],[[[3],[["number","Int16"]],[3],[4],[-1]]]]
+```
+
+An overflow occurs, because of `32768` is over the range of Int16 (-32,768 to 32,767).
+As this time `number> 32768` was evaluated as` number> - 32768`.
+In this release, when overflow or underflow occurs as above, not to return any results.
+
+### Conclusion
+
+See [Release 8.0.1 2018-03-29](/docs/news.html#release-8.0.1) about detailed changes since 8.0.0
+
+Let's search by Groonga!
-------------- next part --------------
HTML����������������������������...
URL: https://lists.osdn.me/mailman/archives/groonga-commit/attachments/20180329/b8c6baea/attachment-0001.htm 



More information about the Groonga-commit mailing list
Back to archive index