[groonga-dev,04757] [ANN] Groonga 9.0.4

Back to archive index
Yasuhiro Horimoto horim****@clear*****
2019年 6月 29日 (土) 19:56:18 JST


こんばんは、堀本です。
今日は肉の日ですね!

Groonga 9.0.4をリリースしました!
http://groonga.org/ja/blog/2019/06/29/groonga-9.0.4.html

変更点一覧:

    http://groonga.org/ja/docs/news.html#release-9-0-4

主な変更点は以下の通りです。

* 配列リテラルの複数要素をサポートしました。

* ベクターの等価演算をサポートしました。

* [logical_range_filter] 出力するクエリーログを追加しました。

* [grndb] 新しいオプション ``--since`` を追加しました。

* [query] ``default_operator`` を追加しました。

* [optimizer] 複数のfilter条件と ``xxx.yyy=="keyword"`` のような条件を
              指定した際にエラーが発生するバグを修正しました。

* GroongaのWindows用のパッケージ(VC++版)に不足していたライセンスファイルを追加しました。

* GroongaのWindows用のパッケージ(VC++版)UCRTランタイムを追加しました。

* [window_function] メモリリークを修正しました。

  * これは、複数のウインドウに対してソートキーを適用した際に発生します。

### 配列リテラルの複数要素をサポートしました。

以下のように ``filter`` 条件の中で複数要素を持った配列リテラルを使うことができます。

```
table_create Values TABLE_NO_KEY

column_create Values numbers COLUMN_VECTOR Int32

load --table Values
[
{"numbers": [2, 1, 3]},
{"numbers": [2, 3, 4]},
{"numbers": [8, 9, -1]}
]

select Values  \
  --filter 'numbers == [2, 3, 4]'  \
  --output_columns 'numbers'
[[0,0.0,0.0],[[[1],[["numbers","Int32"]],[[2,3,4]]]]]
```

### ベクターの等価演算をサポートしました。

以下のようにベクターに対して等価演算を使うことができます。

```
table_create Values TABLE_NO_KEY

column_create Values numbers COLUMN_VECTOR Int32

load --table Values
[
{"numbers": [2, 1, 3]},
{"numbers": [2, 3, 4]},
{"numbers": [8, 9, -1]}
]

select Values  \
  --filter 'numbers == [2, 3, 4]'  \
  --output_columns 'numbers'
[[0,0.0,0.0],[[[1],[["numbers","Int32"]],[[2,3,4]]]]]
```

### [logical_range_filter] 出力するクエリーログを追加しました。

``logical_range_filter`` コマンドが、以下のタイミングでログを出力するようになります。

* ``logical_range_filter`` によるフィルター後
* ``logical_range_filter`` によるソート後
* 動的カラム適用後
* 結果出力後

この機能によって、このコマンドがどこまで完了したかを見ることができます。

### [grndb] Added support new option ``--since``

検査の範囲を指定できます。

更新時刻は ISO 8601形式か -3days や -2.5weeksといった -NUNIT 形式で指定します。

以下は --since オプションをISO 8601形式で指定する例です。

```
% grmdb check --since=2019-06-24T18:16:22 /var/lib/groonga/db/db
```

上記の例では 2019-06-24T18:16:22 以降に更新されたオブジェクトをチェックします。

以下は --since オプションを -NUNIT 形式で指定する例です。

```
% grmdb check --since=-7d /var/lib/groonga/db/db
```

上記の例では、直近7日で更新されたものがチェックされます。

[grndb#since] も参考にしてください。

### [query] ``default_operator``を追加しました。

"keyword1 keyword2"時の演算子をカスタマイズできます。
デフォルトでは、"keyword1 keyword2"はAND演算です。

以下のように、"keyword1 keyword2"の演算子をAND以外に変更できます。

```
table_create Products TABLE_NO_KEY

column_create Products name COLUMN_SCALAR ShortText

load --table Products
[
["name"],
["Groonga"],
["Mroonga"],
["Rroonga"],
["PGroonga"],
["Ruby"],
["PostgreSQL"]
]

select \
  --table Products \
  --filter 'query("name", "Groonga Mroonga", {"default_operator": "OR"})'
[
  [
    0,
    0.0,
    0.0
  ],
  [
    [
      [
        3
      ],
      [
        [
          "_id",
          "UInt32"
        ],
        [
          "name",
          "ShortText"
        ]
      ],
      [
        1,
        "Groonga"
      ],
      [
        4,
        "PGroonga"
      ],
      [
        2,
        "Mroonga"
      ]
    ]
  ]
]
```



groonga-dev メーリングリストの案内
Back to archive index