My Project
Public Member Functions
MDL_map_partition Class Reference

List of all members.

Public Member Functions

 MDL_map_partition ()
 ~MDL_map_partition ()
MDL_lockfind_or_insert (const MDL_key *mdl_key, my_hash_value_type hash_value)
void remove (MDL_lock *lock)
my_hash_value_type get_key_hash (const MDL_key *mdl_key) const

Detailed Description

A partition in a collection of all MDL locks. MDL_map is partitioned for scalability reasons. Maps MDL_key to MDL_lock instances.


Constructor & Destructor Documentation

Initialize the partition in the container with all MDL locks.

Destroy the partition in container for all MDL locks.

Precondition:
It must be empty.

Member Function Documentation

MDL_lock * MDL_map_partition::find_or_insert ( const MDL_key mdl_key,
my_hash_value_type  hash_value 
) [inline]

Find MDL_lock object corresponding to the key and hash value in MDL_map partition, create it if it does not exist.

Return values:
non-NULL- Success. MDL_lock instance for the key with locked MDL_lock::m_rwlock.
NULL- Failure (OOM).
void MDL_map_partition::remove ( MDL_lock lock) [inline]

Destroy MDL_lock object belonging to specific MDL_map partition or delegate this responsibility to whatever thread that holds the last outstanding reference to it.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines