MySQL 5.6.14 Source Code Document
|
Public Member Functions | |
MDL_scoped_lock (const MDL_key *key_arg, MDL_map_partition *map_part) | |
virtual const bitmap_t * | incompatible_granted_types_bitmap () const |
virtual const bitmap_t * | incompatible_waiting_types_bitmap () const |
virtual bool | needs_notification (const MDL_ticket *ticket) const |
virtual void | notify_conflicting_locks (MDL_context *ctx) |
virtual bitmap_t | hog_lock_types_bitmap () const |
Public Member Functions inherited from MDL_lock | |
bool | is_empty () const |
bool | has_pending_conflicting_lock (enum_mdl_type type) |
bool | can_grant_lock (enum_mdl_type type, MDL_context *requstor_ctx, bool ignore_lock_priority) const |
void | reschedule_waiters () |
void | remove_ticket (Ticket_list MDL_lock::*queue, MDL_ticket *ticket) |
bool | visit_subgraph (MDL_ticket *waiting_ticket, MDL_wait_for_graph_visitor *gvisitor) |
MDL_lock (const MDL_key *key_arg, MDL_map_partition *map_part) |
Additional Inherited Members | |
Public Types inherited from MDL_lock | |
typedef unsigned short | bitmap_t |
typedef Ticket_list::List::Iterator | Ticket_iterator |
Static Public Member Functions inherited from MDL_lock | |
static MDL_lock * | create (const MDL_key *key, MDL_map_partition *map_part) |
static void | destroy (MDL_lock *lock) |
Public Attributes inherited from MDL_lock | |
MDL_key | key |
mysql_prlock_t | m_rwlock |
Ticket_list | m_granted |
Ticket_list | m_waiting |
ulong | m_hog_lock_count |
uint | m_ref_usage |
uint | m_ref_release |
bool | m_is_destroyed |
ulonglong | m_version |
MDL_map_partition * | m_map_part |
An implementation of the scoped metadata lock. The only locking modes which are supported at the moment are SHARED and INTENTION EXCLUSIVE and EXCLUSIVE
|
virtual |
Notify threads holding scoped IX locks which conflict with a pending S lock.
ctx | MDL_context for current thread. |
Implements MDL_lock.