MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MDL_object_lock Class Reference
Inheritance diagram for MDL_object_lock:
Collaboration diagram for MDL_object_lock:

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_locknext_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_partitionm_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_lockcreate (const MDL_key *key, MDL_map_partition *map_part)
static void destroy (MDL_lock *lock)

Detailed Description

An implementation of a per-object lock. Supports SHARED, SHARED_UPGRADABLE, SHARED HIGH PRIORITY and EXCLUSIVE locks.

Definition at line 569 of file mdl.cc.

Member Function Documentation

void MDL_object_lock::notify_conflicting_locks ( MDL_context ctx)
virtual

Notify threads holding a shared metadata locks on object which conflict with a pending X, SNW or SNRW lock.

Parameters
ctxMDL_context for current thread.

Implements MDL_lock.

Definition at line 2091 of file mdl.cc.

void MDL_object_lock::reset ( const MDL_key new_key)
inline

Reset unused MDL_object_lock object to represent the lock context for a different object.

Definition at line 580 of file mdl.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

MDL_object_lock* MDL_object_lock::next_in_cache

Members for linking the object into the list of unused objects.

Definition at line 628 of file mdl.cc.


The documentation for this class was generated from the following file: