# 7.3.27. `lock_clear`

## 7.3.27.1. 概要

バージョン 4.0.9 で追加.

`lock_clear` コマンドは対象オブジェクトのロックを再帰的に解除します。対象オブジェクトはデータベース、テーブル、カラムのどれかです。

注釈

これは危険なコマンドです。他のプロセスまたは他のスレッドが対象オブジェクトに書き込み処理を実行している間はこのコマンドを使ってはいけません。もし使ったなら、データベースは壊れるかもしれませんし、実行中のプロセスはクラッシュするかもしれません。

## 7.3.27.2. 構文

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

    lock_clear [target_name=null]

`target_name` パラメーターを省略した場合は対象オブジェクトはデータベースになります。これはデータベース中のすべてのロックを解除するという意味です。

## 7.3.27.3. 使い方

以下はデータベースの中のすべてのロックを解除する例です。

実行例:

    lock_clear
    # [[0, 1337566253.89858, 0.000355720520019531], true]

以下は `Entries` テーブルと `Entries` テーブルのカラムのロックを解除する例です。

実行例:

    table_create Entries TABLE_NO_KEY
    # [[0, 1337566253.89858, 0.000355720520019531], true]
    column_create Entries body COLUMN_SCALAR Text
    # [[0, 1337566253.89858, 0.000355720520019531], true]
    lock_clear Entries
    # [[0, 1337566253.89858, 0.000355720520019531], true]

以下は `Sites.title` カラムのロックを解除する例です。

実行例:

    table_create Sites TABLE_HASH_KEY ShortText
    # [[0, 1337566253.89858, 0.000355720520019531], true]
    column_create Sites title COLUMN_SCALAR ShortText
    # [[0, 1337566253.89858, 0.000355720520019531], true]
    lock_clear Sites.title
    # [[0, 1337566253.89858, 0.000355720520019531], true]

## 7.3.27.4. 引数

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

### 7.3.27.4.1. `target_name`

テーブル名またはカラム名を指定します。

指定しなかったら対象オブジェクトはデータベースになります。

デフォルト値はありません。これは対象オブジェクトはデータベースになるということです。

## 7.3.27.5. 戻り値

`lock_clear` コマンドはロックを解除できたかどうかを返します。:

    [HEADER, SUCCEEDED_OR_NOT]

`HEADER`

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

`SUCCEEDED_OR_NOT`

> コマンドの実行が成功するとtrueを返します。失敗するとエラーとしてfalseを返します。