# IS\_FREE\_LOCK

## Syntax

```sql
IS_FREE_LOCK(str)
```

## Description

Checks whether the lock named `str` is free to use (that is, not locked). Returns `1` if the lock is free (no one is using the lock),`0` if the lock is in use, and `NULL` if an error occurs (such as an incorrect argument, like an empty string or `NULL`). `str` is case insensitive.

If the [metadata\_lock\_info](https://mariadb.com/docs/server/reference/plugins/other-plugins/metadata-lock-info-plugin) plugin is installed, the [Information Schema](https://mariadb.com/docs/server/reference/system-tables/information-schema) [metadata\_lock\_info](https://mariadb.com/docs/server/reference/system-tables/information-schema/information-schema-tables/information-schema-metadata_lock_info-table) table contains information about locks of this kind (as well as [metadata locks](https://mariadb.com/docs/server/reference/sql-statements/transactions/metadata-locking)).

Statements using the `IS_FREE_LOCK` function are [not safe for statement-based replication](https://mariadb.com/docs/server/ha-and-performance/standard-replication/unsafe-statements-for-statement-based-replication).

## See Also

* [GET\_LOCK](https://mariadb.com/docs/server/reference/sql-functions/secondary-functions/miscellaneous-functions/get_lock)
* [RELEASE\_LOCK](https://mariadb.com/docs/server/reference/sql-functions/secondary-functions/miscellaneous-functions/release_lock)
* [IS\_USED\_LOCK](https://mariadb.com/docs/server/reference/sql-functions/secondary-functions/miscellaneous-functions/is_used_lock)
* [RELEASE\_ALL\_LOCKS](https://mariadb.com/docs/server/reference/sql-functions/secondary-functions/miscellaneous-functions/release_all_locks)

<sub>*This page is licensed: GPLv2, originally from*</sub> [<sub>*fill\_help\_tables.sql*</sub>](https://github.com/MariaDB/server/blob/main/scripts/fill_help_tables.sql)

{% @marketo/form formId="4316" %}
