26#ifndef SERVICE_LOCKING_INCLUDED
27#define SERVICE_LOCKING_INCLUDED
35#ifndef MYSQL_ABI_CHECK
41#define MYSQL_THD THD *
43#define MYSQL_THD void *
75 MYSQL_THD opaque_thd,
const char *lock_namespace,
const char **lock_names,
77 uint64_t lock_timeout);
92 const char *lock_namespace);
112#ifdef MYSQL_DYNAMIC_PLUGIN
114#define mysql_acquire_locking_service_locks(_THD, _NAMESPACE, _NAMES, _NUM, \
116 mysql_locking_service->mysql_acquire_locks(_THD, _NAMESPACE, _NAMES, _NUM, \
118#define mysql_release_locking_service_locks(_THD, _NAMESPACE) \
119 mysql_locking_service->mysql_release_locks(_THD, _NAMESPACE)
124 MYSQL_THD opaque_thd,
const char *lock_namespace,
const char **lock_names,
126 uint64_t lock_timeout);
129 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:34
struct mysql_locking_service_st * mysql_locking_service
#define MYSQL_THD
Definition: service_locking.h:41
enum_locking_service_lock_type
Types of locking service locks.
Definition: service_locking.h:51
@ LOCKING_SERVICE_READ
Definition: service_locking.h:52
@ LOCKING_SERVICE_WRITE
Definition: service_locking.h:53
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:91
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:74
int mysql_release_locking_service_locks(MYSQL_THD opaque_thd, const char *lock_namespace)
Definition: locking_service.cc:186
This service provides support for taking read/write locks.
Definition: service_locking.h:107
mysql_acquire_locks_t mysql_acquire_locks
Definition: service_locking.h:108
mysql_release_locks_t mysql_release_locks
Definition: service_locking.h:109