説明
この関数は、文字列 str で名前付けされたロックが解放されているかどうかを確認するために使用されます。つまり、名前付けられたロックが他のセッションによって保持されていないかどうかを検出します。
構文
IS_FREE_LOCK('str')
説明
パラメータの説明
str : ロックの名前を指定します。文字列型です。
戻り値
1を返す:ロックが解放されており、セッションがこのロックを保持していないことを示します。
0を返す:ロックが特定のセッションによって保持されており、ロックが解放されていないことを示します。
例
my_lock という名前のロックが利用可能かどうかを確認します。
obclient [(none)]> SELECT IS_FREE_LOCK('my_lock');
実行結果は次のとおりです:
+-------------------------+
| IS_FREE_LOCK('my_lock') |
+-------------------------+
| 0 |
+-------------------------+
1 row in set
実行結果が0である場合、ロック my_lock は既に特定のセッションによって保持されています。IS_USED_LOCK() を実行して、そのロックを保持するセッションの接続識別子(セッションID)を照会できます。例:
obclient [(none)]> SELECT IS_USED_LOCK('my_lock');
実行結果は次のとおりです:
+-------------------------+
| IS_USED_LOCK('my_lock') |
+-------------------------+
| 3221487701 |
+-------------------------+
1 row in set