7.3.21. lock_clear

7.3.21.1. 概要

バージョン 4.0.9 で追加.

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

注釈

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

7.3.21.2. 構文

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

lock_clear [target_name=null]

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

7.3.21.3. 使い方

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

実行例:

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

以下は Entry テーブルと Entry テーブルのカラムのロックを解放する例です:

実行例:

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

以下は Site.title カラムのロックを解放する例です:

実行例:

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

7.3.21.4. 引数

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

7.3.21.4.1. target_name

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

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

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

7.3.21.5. 戻り値

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

[HEADER, SUCCEEDED_OR_NOT]

HEADER

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

SUCCEEDED_OR_NOT

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