24#ifndef MDL_CONTEXT_BACKUP_H 
   25#define MDL_CONTEXT_BACKUP_H 
   52      std::basic_string<uchar, my_char_traits<uchar>>;
 
   58      std::less<MDL_context_backup_key>,
 
   60                                 std::unique_ptr<MDL_context_backup>>>>
 
  123                     const size_t keylen);
 
  144                     const size_t keylen);
 
  163                      const size_t keylen);
 
Intrusive parameterized list.
Definition: sql_plist.h:75
 
Wrapper around MDL_context class which allows to store it in backup manager's collection.
Definition: mdl_context_backup.cc:37
 
Class which is used to store MDL locks associated with XA transactions in prepared state which client...
Definition: mdl_context_backup.h:46
 
bool check_key_exist(const MDL_context_backup_key &key_obj)
Check for presence of a record with specified key.
Definition: mdl_context_backup.cc:151
 
static void init_psi_keys(void)
Definition: mdl_context_backup.cc:106
 
~MDL_context_backup_manager()
destroy mutex and clear backup map
Definition: mdl_context_backup.cc:147
 
void delete_backup(const uchar *key, const size_t keylen)
Delete backup context and release associated locks.
Definition: mdl_context_backup.cc:251
 
Element_map_type m_backup_map
Definition: mdl_context_backup.h:176
 
static bool init()
Initialize member variables and singleton object.
Definition: mdl_context_backup.cc:129
 
static void destroy()
Cleanup and delete singleton object.
Definition: mdl_context_backup.cc:141
 
MDL_context_backup_manager(const MDL_context_backup_manager &)=delete
 
bool restore_backup(MDL_context *mdl_context, const uchar *key, const size_t keylen)
Restore locks from backup to given MDL_context.
Definition: mdl_context_backup.cc:233
 
MDL_context_backup_manager(PSI_memory_key key)
Definition: mdl_context_backup.cc:116
 
static MDL_context_backup_manager * m_single
Definition: mdl_context_backup.h:67
 
std::map< MDL_context_backup_key, std::unique_ptr< MDL_context_backup >, std::less< MDL_context_backup_key >, Malloc_allocator< std::pair< const MDL_context_backup_key, std::unique_ptr< MDL_context_backup > > > > Element_map_type
Definition: mdl_context_backup.h:54
 
bool create_backup(const MDL_context *context, const uchar *key, const size_t keylen)
Create backup from given MDL_context by cloning all transactional locks to backup context and adds to...
Definition: mdl_context_backup.cc:157
 
mysql_mutex_t m_LOCK_mdl_context_backup
Definition: mdl_context_backup.h:179
 
std::basic_string< uchar, my_char_traits< uchar > > MDL_context_backup_key
Key for uniquely identifying MDL_context in the MDL_context_backup map.
Definition: mdl_context_backup.h:52
 
static MDL_context_backup_manager & instance()
Return singleton object.
Definition: mdl_context_backup.cc:136
 
void operator=(const MDL_context_backup_manager &)=delete
 
Context of the owner of metadata locks.
Definition: mdl.h:1412
 
Malloc_allocator is a C++ STL memory allocator based on my_malloc/my_free.
Definition: malloc_allocator.h:63
 
unsigned int PSI_memory_key
Instrumented memory key.
Definition: psi_memory_bits.h:49
 
unsigned char uchar
Definition: my_inttypes.h:52
 
std::map< Key, Value, Compare, ut::allocator< std::pair< const Key, Value > > > map
Specialization of map which uses ut_allocator.
Definition: ut0new.h:2897
 
required string key
Definition: replication_asynchronous_connection_failover.proto:60
 
An instrumented mutex structure.
Definition: mysql_mutex_bits.h:50