`Ctrl`+`K`

# 7.3.33. `logical_parameters`

## 7.3.33.1. 概要

バージョン 5.0.6 で追加.

`logical_parameters` はテスト用のコマンドです。通常はこのコマンドを使う必要はありません。

`logical_parameters` は次の2つの機能を提供します。

> - `logical_*` コマンドが使うパラメーターの現在値を返します。

> - `logical_*` コマンドが使うパラメーターを新しく設定します。

以下はパラメーターのリストです。

> - range_index

注釈

これらのパラメーターの値は各スレッドごとで独立しています。（正確に言うと、 `grn_ctx` 毎に独立しています。）これらのパラメーターを完全に制御したい場合は、これらのパラメーターを使っている間は thread_limit を使って最大スレッド数を `1` にしてください。

## 7.3.33.2. 構文

このコマンドの引数は1つで省略できます:

    logical_parameters [range_index=null]

## 7.3.33.3. 使い方

このコマンドを使うには事前に `sharding` プラグインを登録します。

実行例:

    plugin_register sharding
    # [[0, 1337566253.89858, 0.000355720520019531], true]

引数無しで呼び出すとすべてのパラメーターの現在の値を返します。

実行例:

    logical_parameters
    # [[0, 1337566253.89858, 0.000355720520019531], {"range_index": "auto"}]

引数を指定して呼び出すと新しい値を設定できます。

実行例:

    logical_parameters --range_index never
    # [[0, 1337566253.89858, 0.000355720520019531], {"range_index": "auto"}]

`logical_parameters` は、新しい値を設定するときは、新しい値を設定する前の値を返します。

## 7.3.33.4. 引数

このセクションでは引数について説明します。

### 7.3.33.4.1. 必須引数

必須の引数はありません。

### 7.3.33.4.2. 省略可能引数

省略可能な引数が1つあります。

#### 7.3.33.4.2.1. `range_index`

logical_range_filter でどのように範囲インデックスを使うかをキーワードで指定します。

指定できるキーワードは以下の通りです。

> - `auto` （デフォルト）

> - `always`

> - `never`

`auto` を指定すると、効果がでそうなときだけ範囲インデックスを使います。これがデフォルトの値です。

実行例:

    logical_parameters --range_index auto
    # [[0, 1337566253.89858, 0.000355720520019531], {"range_index": "never"}]

`always` を指定すると、常に範囲インデックスを使います。範囲インデックスが使われるケースをテストするときに便利です。

実行例:

    logical_parameters --range_index always
    # [[0, 1337566253.89858, 0.000355720520019531], {"range_index": "auto"}]

`never` を指定すると、範囲インデックスは使いません。範囲インデックスが使われないケースをテストするときに便利です。

実行例:

    logical_parameters --range_index never
    # [[0, 1337566253.89858, 0.000355720520019531], {"range_index": "always"}]

## 7.3.33.5. 戻り値

このコマンドは `logical_*` コマンドが使うパラメーターの現在値を返します:

    [
      HEADER,
      {"range_index": HOW_TO_USE_RANGE_INDEX}
    ]

`HOW_TO_USE_RANGE_INDEX` の値は次のどれかです。

> - `"auto"`

> - `"always"`

> - `"never"`

`HEADER` については 出力形式 を参照してください。