Rechercher dans le manuel MySQL
29.3.1.1 The Locking Service C Interface
This section describes how to use the locking service C language interface. To use the UDF interface instead, see Section 29.3.1.2, “The Locking Service UDF Interface” For general characteristics of the locking service interface, see Section 29.3.1, “The Locking Service”. For general information about plugin services, see Section 29.3, “MySQL Services for Plugins”.
Source files that use the locking service should include this header file:
#include <mysql/service_locking.h>
To acquire one or more locks, call this function:
int mysql_acquire_locking_service_locks(MYSQL_THD opaque_thd,
const char* lock_namespace,
const char**lock_names,
size_t lock_num,
enum enum_locking_service_lock_type lock_type,
unsigned long lock_timeout);
The arguments have these meanings:
opaque_thd
: A thread handle. If specified asNULL
, the handle for the current thread is used.lock_namespace
: A null-terminated string that indicates the lock namespace.lock_names
: An array of null-terminated strings that provides the names of the locks to acquire.lock_num
: The number of names in thelock_names
array.lock_type
: The lock mode, eitherLOCKING_SERVICE_READ
orLOCKING_SERVICE_WRITE
to acquire read locks or write locks, respectively.lock_timeout
: An integer number of seconds to wait to acquire the locks before giving up.
To release locks acquired for a given namespace, call this function:
int mysql_release_locking_service_locks(MYSQL_THD opaque_thd,
const char* lock_namespace);
The arguments have these meanings:
opaque_thd
: A thread handle. If specified asNULL
, the handle for the current thread is used.lock_namespace
: A null-terminated string that indicates the lock namespace.
Locks acquired or waited for by the locking service can be monitored at the SQL level using the Performance Schema. For details, see Section 29.3.1.2.3, “Locking Service Monitoring”.
Document created the 26/06/2006, last modified the 26/10/2018
Source of the printed document:https://www.gaudry.be/en/mysql-rf-locking-service-c-interface.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.
References
These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.