Navigation Menu

Skip to content

Commit

Permalink
blog ja: add more description
Browse files Browse the repository at this point in the history
  • Loading branch information
kenhys committed Oct 13, 2017
1 parent 96c5931 commit 48a9004
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions ja/_posts/2017-09-29-groonga-7.0.7.md
Expand Up @@ -2,7 +2,6 @@
layout: post.ja
title: Groonga 7.0.7リリース
description: Groonga 7.0.7をリリースしました!
published: false
---

## Groonga 7.0.7リリース
Expand Down Expand Up @@ -30,15 +29,21 @@ published: false
--query "+" \
--query_flags ALLOW_PRAGMA|ALLOW_COLUMN|QUERY_NO_SYNTAX_ERROR

今回のリリースでは、上記のクエリーもエラーにならずに実行できるようになりました。

### command-version 3をデフォルトに設定できるようになりました

groongaコマンドの[--default-command-version](https://groonga.org/docs/reference/command/command_version.html#default-command-version)`3` を指定できるようになりました。以前のバージョンでも `--command_version 3` は成功していましたが、 `--default-command-version 3` はエラーになっていました。

今回のリリースでは、`--default-command-version 3`を指定して起動できるようになっています。

### 関数を使っていてもselect結果をキャッシュするようになりました

selectコマンドで関数を使っていた場合、以前のバージョンではselect結果をキャッシュしていませんでしたが、今回のバージョンから条件付きでキャッシュするようになりました。
条件は、実行ごとに毎回結果が変わらないことです。変わってしまうのであればキャッシュしません。
したがって、 `now()``rand()` は結果が変わるので従来どおり、キャッシュしません。そのほかの関数は同じクエリであれば結果が変わらないのでキャッシュされるようになりました。

その条件ですが、selectコマンドで使われているすべての関数の `is_stable` の値がtrue( `GRN_TRUE` )だった場合、select結果をキャッシュします。 `is_stable` の値はデフォルトでtrueになっています。引数が同じでも異なる結果を返す可能性のある関数を実装する場合、 `is_stable` にfalse( `GRN_FALSE` )を設定するようにしてください。なお、 `now()``rand()``is_stable` にはデフォルトでfalseが設定されているため、これらの関数が使われている場合はキャッシュしません。
Groongaをライブラリーとして使う人に向けに内部的な説明をすると、selectコマンドで使われているすべての関数の `is_stable` の値がtrue( `GRN_TRUE` )だった場合、select結果をキャッシュします。 `is_stable` の値はデフォルトでtrueになっています。引数が同じでも異なる結果を返す可能性のある関数を実装する場合、 `is_stable` にfalse( `GRN_FALSE` )を設定するようにしてください。なお、 `now()``rand()``is_stable` にはデフォルトでfalseが設定されているため、これらの関数が使われている場合はキャッシュしません。

`is_stable` を設定・参照するAPIとして、以下の2つを追加しました。

Expand Down

0 comments on commit 48a9004

Please sign in to comment.