7.3.32. logical_parameters

7.3.32.1. 概要

バージョン 5.0.6 で追加.

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

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

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

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

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

注釈

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

7.3.32.2. 構文

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

logical_parameters [range_index=null]

7.3.32.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.32.4. 引数

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

7.3.32.4.1. 必須引数

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

7.3.32.4.2. 省略可能引数

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

7.3.32.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.32.5. 戻り値

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

[
  HEADER,
  {"range_index": HOW_TO_USE_RANGE_INDEX}
]

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

  • "auto"
  • "always"
  • "never"

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