# groonga - An open-source fulltext search engine and column store.

- 日本語

# 7.3.31. `logical_parameters`

## 7.3.31.1. Summary

New in version 5.0.6.

`logical_parameters` is a command for test. Normally, you don't need to use this command.

`logical_parameters` provides the following two features:

> - It returns the current parameters for `logical_*` commands.
> - It sets new parameters for `logical_*` commands.

Here is a list of parameters:

> - range_index

Note

The parameters are independent in each thread. (To be exact, each `grn_ctx`.) If you want to control the parameters perfectly, you should reduce the max number of threads to `1` by thread_limit while you're using the parameters.

## 7.3.31.2. Syntax

This command takes only one optional parameter:

    logical_parameters [range_index=null]

## 7.3.31.3. Usage

You need to register `sharding` plugin to use this command:

Execution example:

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

You can get the all current parameter values by calling without parameters:

Execution example:

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

You can set new values by calling with parameters:

Execution example:

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

`logical_parameters` returns the parameter values before new values are set when you set new values.

## 7.3.31.4. Parameters

This section describes parameters.

### 7.3.31.4.1. Required parameters

There is no required parameter.

### 7.3.31.4.2. Optional parameters

There is one optional parameter.

#### 7.3.31.4.2.1. `range_index`

Specifies how to use range index in logical_range_filter by keyword.

Here are available keywords:

> - `auto` (default)
> - `always`
> - `never`

If `auto` is specified, range index is used only when it'll be efficient. This is the default value.

Execution example:

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

If `always` is specified, range index is always used. It'll be useful for testing a case that range index is used.

Execution example:

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

If `never` is specified, range index is never used. It'll be useful for testing a case that range index isn't used.

Execution example:

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

## 7.3.31.5. Return value

The command returns the current parameters for `logical_*` command:

    [
      HEADER,
      {"range_index": HOW_TO_USE_RANGE_INDEX}
    ]

`HOW_TO_USE_RANGE_INDEX` value is one of the followings:

> - `"auto"`
> - `"always"`
> - `"never"`

See Output format for `HEADER`.