MySQL 5.6.14 Source Code Document
|
Public Member Functions | |
MDL_object_lock (const MDL_key *key_arg, MDL_map_partition *map_part) | |
void | reset (const MDL_key *new_key) |
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) |
Public Attributes | |
MDL_object_lock * | next_in_cache |
MDL_object_lock ** | prev_in_cache |
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 |
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) |
An implementation of a per-object lock. Supports SHARED, SHARED_UPGRADABLE, SHARED HIGH PRIORITY and EXCLUSIVE locks.
|
virtual |
Notify threads holding a shared metadata locks on object which conflict with a pending X, SNW or SNRW lock.
ctx | MDL_context for current thread. |
Implements MDL_lock.
|
inline |
Reset unused MDL_object_lock object to represent the lock context for a different object.
Definition at line 580 of file mdl.cc.
MDL_object_lock* MDL_object_lock::next_in_cache |