7.3.25. lock_acquire
¶
7.3.25.1. 概要¶
バージョン 5.1.2 で追加.
lock_acquire
コマンドは対象オブジェクトのロックを獲得します。対象オブジェクトはデータベース、テーブル、カラムのどれかです。
注釈
これは危険なコマンドです。獲得したロックはロックが必要なくなったときに lock_release で解放してください。もし、解放し忘れるとデータベースが壊れるかもしれません。
7.3.25.2. 構文¶
このコマンドの引数は1つで省略できます:
lock_clear [target_name=null]
target_name
パラメーターを省略した場合は対象オブジェクトはデータベースになります。
7.3.25.3. 使い方¶
以下はデータベースのロックを獲得する例です。
実行例:
lock_acquire
# [[0, 1337566253.89858, 0.000355720520019531], true]
もし、データベースがロックされていると、新しいテーブル・カラムを作れなくなります。ここでは、他の例を示すためにデータベースのロックを解放します。
実行例:
lock_release
# [[0, 1337566253.89858, 0.000355720520019531], true]
以下は Entries
テーブルのロックを獲得する例です。
実行例:
table_create Entries TABLE_NO_KEY
# [[0, 1337566253.89858, 0.000355720520019531], true]
lock_acquire 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_acquire Sites.title
# [[0, 1337566253.89858, 0.000355720520019531], true]
7.3.25.4. 引数¶
このセクションではすべての引数について説明します。
7.3.25.4.1. target_name
¶
テーブル名またはカラム名を指定します。
指定しなかったら対象オブジェクトはデータベースになります。
デフォルト値はありません。これは対象オブジェクトはデータベースになるということです。
7.3.25.5. 戻り値¶
lock_acquire
コマンドはロックを獲得できたかどうかを返します。:
[HEADER, SUCCEEDED_OR_NOT]
7.3.25.5.2. SUCCEEDED_OR_NOT
¶
コマンドの実行が成功するとtrueを返します。失敗するとエラーとしてfalseを返します。