25#ifndef SERVICE_LOCKING_INCLUDED
26#define SERVICE_LOCKING_INCLUDED
34#ifndef MYSQL_ABI_CHECK
40#define MYSQL_THD THD *
42#define MYSQL_THD void *
74 MYSQL_THD opaque_thd,
const char *lock_namespace,
const char **lock_names,
76 uint64_t lock_timeout);
91 const char *lock_namespace);
111#ifdef MYSQL_DYNAMIC_PLUGIN
113#define mysql_acquire_locking_service_locks(_THD, _NAMESPACE, _NAMES, _NUM, \
115 mysql_locking_service->mysql_acquire_locks(_THD, _NAMESPACE, _NAMES, _NUM, \
117#define mysql_release_locking_service_locks(_THD, _NAMESPACE) \
118 mysql_locking_service->mysql_release_locks(_THD, _NAMESPACE)
123 MYSQL_THD opaque_thd,
const char *lock_namespace,
const char **lock_names,
125 uint64_t lock_timeout);
128 const char *lock_namespace);
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:33
struct mysql_locking_service_st * mysql_locking_service
#define MYSQL_THD
Definition: service_locking.h:40
enum_locking_service_lock_type
Types of locking service locks.
Definition: service_locking.h:50
@ LOCKING_SERVICE_READ
Definition: service_locking.h:51
@ LOCKING_SERVICE_WRITE
Definition: service_locking.h:52
int(* mysql_release_locks_t)(MYSQL_THD opaque_thd, const char *lock_namespace)
Release all lock service locks taken by the given connection in the given namespace.
Definition: service_locking.h:90
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, uint64_t lock_timeout)
int(* mysql_acquire_locks_t)(MYSQL_THD opaque_thd, const char *lock_namespace, const char **lock_names, size_t lock_num, enum enum_locking_service_lock_type lock_type, uint64_t lock_timeout)
Acquire locking service locks.
Definition: service_locking.h:73
int mysql_release_locking_service_locks(MYSQL_THD opaque_thd, const char *lock_namespace)
Definition: locking_service.cc:185
This service provides support for taking read/write locks.
Definition: service_locking.h:106
mysql_acquire_locks_t mysql_acquire_locks
Definition: service_locking.h:107
mysql_release_locks_t mysql_release_locks
Definition: service_locking.h:108