説明
この関数は、文字列 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