MySQL 26.7.0
Source Code Documentation
pfs_buffer_container.cc File Reference

Generic buffer container. More...

Functions

pfs_identity make_identity (pfs_container_id container_id, pfs_page_id page_id, pfs_object_id object_id, pfs_dirty_state *dirty_state)
 Build an artificial object identity, for OBJECT_INSTANCE_BEGIN columns. More...
 

Variables

std::atomic< pfs_container_idglobal_container_id {1}
 
PFS_buffer_default_allocator< PFS_mutex > default_mutex_allocatorbuiltin_memory_mutex
 
PFS_mutex_container global_mutex_containerdefault_mutex_allocator
 
PFS_buffer_default_allocator< PFS_rwlock > default_rwlock_allocatorbuiltin_memory_rwlock
 
PFS_rwlock_container global_rwlock_containerdefault_rwlock_allocator
 
PFS_buffer_default_allocator< PFS_cond > default_cond_allocatorbuiltin_memory_cond
 
PFS_cond_container global_cond_containerdefault_cond_allocator
 
PFS_buffer_default_allocator< PFS_file > default_file_allocatorbuiltin_memory_file
 
PFS_file_container global_file_containerdefault_file_allocator
 
PFS_buffer_default_allocator< PFS_socket > default_socket_allocatorbuiltin_memory_socket
 
PFS_socket_container global_socket_containerdefault_socket_allocator
 
PFS_buffer_default_allocator< PFS_metadata_lock > default_mdl_allocatorbuiltin_memory_mdl
 
PFS_mdl_container global_mdl_containerdefault_mdl_allocator
 
PFS_buffer_default_allocator< PFS_setup_actor > default_setup_actor_allocatorbuiltin_memory_setup_actor
 
PFS_setup_actor_container global_setup_actor_containerdefault_setup_actor_allocator
 
PFS_buffer_default_allocator< PFS_setup_object > default_setup_object_allocatorbuiltin_memory_setup_object
 
PFS_setup_object_container global_setup_object_containerdefault_setup_object_allocator
 
PFS_buffer_default_allocator< PFS_table > default_table_allocatorbuiltin_memory_table
 
PFS_table_container global_table_containerdefault_table_allocator
 
PFS_buffer_default_allocator< PFS_table_share > default_table_share_allocatorbuiltin_memory_table_share
 
PFS_table_share_container global_table_share_containerdefault_table_share_allocator
 
PFS_buffer_default_allocator< PFS_table_share_index > default_table_share_index_allocatorbuiltin_memory_table_share_index
 
PFS_table_share_index_container global_table_share_index_containerdefault_table_share_index_allocator
 
PFS_buffer_default_allocator< PFS_table_share_lock > default_table_share_lock_allocatorbuiltin_memory_table_share_lock
 
PFS_table_share_lock_container global_table_share_lock_containerdefault_table_share_lock_allocator
 
PFS_buffer_default_allocator< PFS_program > default_program_allocatorbuiltin_memory_program
 
PFS_program_container global_program_containerdefault_program_allocator
 
PFS_buffer_default_allocator< PFS_prepared_stmt > default_prepared_stmt_allocatorbuiltin_memory_prepared_stmt
 
PFS_prepared_stmt_container global_prepared_stmt_containerdefault_prepared_stmt_allocator
 
PFS_account_allocator account_allocator
 
PFS_host_allocator host_allocator
 
PFS_thread_allocator thread_allocator
 
PFS_user_allocator user_allocator
 

Detailed Description

Generic buffer container.

Function Documentation

◆ make_identity()

pfs_identity make_identity ( pfs_container_id  container_id,
pfs_page_id  page_id,
pfs_object_id  object_id,
pfs_dirty_state dirty_state 
)

Build an artificial object identity, for OBJECT_INSTANCE_BEGIN columns.

To be globally unique, identity consists of:

  • the container id, so objects A and B from different containers (instrument classes) will not collide. Note that partitioned containers get a container id per partition.
  • the page id within the container
  • the object index within the page
  • the version number from the pfs_lock dirty_state, to resolve ABA problems

Variable Documentation

◆ account_allocator

◆ builtin_memory_cond

◆ builtin_memory_file

◆ builtin_memory_mdl

◆ builtin_memory_mutex

◆ builtin_memory_prepared_stmt

◆ builtin_memory_program

◆ builtin_memory_rwlock

◆ builtin_memory_setup_actor

◆ builtin_memory_setup_object

◆ builtin_memory_socket

◆ builtin_memory_table

◆ builtin_memory_table_share

◆ builtin_memory_table_share_index

◆ builtin_memory_table_share_lock

◆ default_cond_allocator

PFS_cond_container global_cond_container& default_cond_allocator

◆ default_file_allocator

PFS_file_container global_file_container& default_file_allocator

◆ default_mdl_allocator

PFS_mdl_container global_mdl_container& default_mdl_allocator

◆ default_mutex_allocator

PFS_mutex_container global_mutex_container& default_mutex_allocator

◆ default_prepared_stmt_allocator

◆ default_program_allocator

PFS_program_container global_program_container& default_program_allocator

◆ default_rwlock_allocator

PFS_rwlock_container global_rwlock_container& default_rwlock_allocator

◆ default_setup_actor_allocator

◆ default_setup_object_allocator

◆ default_socket_allocator

PFS_socket_container global_socket_container& default_socket_allocator

◆ default_table_allocator

PFS_table_container global_table_container& default_table_allocator

◆ default_table_share_allocator

◆ default_table_share_index_allocator

◆ default_table_share_lock_allocator

◆ global_container_id

std::atomic<pfs_container_id> global_container_id {1}

◆ host_allocator

◆ thread_allocator

◆ user_allocator