![]()  | 
  
    MySQL 8.4.7
    
   Source Code Documentation 
   | 
 
Database Physical Snapshot. More...
#include "univ.i"#include "arch0log.h"#include "arch0page.h"#include "clone0api.h"#include "clone0desc.h"#include "clone0monitor.h"#include "fil0fil.h"#include "sql/handler.h"#include <map>#include <vector>Go to the source code of this file.
Classes | |
| struct | Clone_file_ctx | 
| struct | Clone_Page | 
| Page identified by space and page number.  More... | |
| struct | Less_Clone_Page | 
| Comparator for storing sorted page ID.  More... | |
| class | Clone_Snapshot | 
| Dynamic database snapshot: Holds metadata and handle to data.  More... | |
| class | Clone_Snapshot::State_transit | 
| RAII style guard for begin & end of snapshot state transition.  More... | |
Typedefs | |
| using | Clone_File_Vec = std::vector< Clone_file_ctx * > | 
| Vector type for storing clone files.  More... | |
| using | Clone_File_Map = std::map< space_id_t, uint > | 
| Map type for mapping space ID to clone file index.  More... | |
| using | Clone_Page_Vec = std::vector< Clone_Page > | 
| Vector type for storing clone page IDs.  More... | |
| using | Clone_Page_Set = std::set< Clone_Page, Less_Clone_Page > | 
| Set for storing unique page IDs.  More... | |
Enumerations | |
| enum | Clone_Handle_Type { CLONE_HDL_COPY = 1 , CLONE_HDL_APPLY } | 
| Clone handle type.  More... | |
Variables | |
| const uint | SNAPSHOT_DEF_CHUNK_SIZE_POW2 = 12 | 
| Default chunk size in power of 2 in unit of pages.  More... | |
| const uint | SNAPSHOT_DEF_BLOCK_SIZE_POW2 = 6 | 
| Default block size in power of 2 in unit of pages.  More... | |
| const uint | SNAPSHOT_MAX_BLOCK_SIZE_POW2 = 12 | 
| Maximum block size in power of 2 in unit of pages.  More... | |
Database Physical Snapshot.
| using Clone_File_Map = std::map<space_id_t, uint> | 
Map type for mapping space ID to clone file index.
| using Clone_File_Vec = std::vector<Clone_file_ctx *> | 
Vector type for storing clone files.
| using Clone_Page_Set = std::set<Clone_Page, Less_Clone_Page> | 
Set for storing unique page IDs.
| using Clone_Page_Vec = std::vector<Clone_Page> | 
Vector type for storing clone page IDs.
| enum Clone_Handle_Type | 
| const uint SNAPSHOT_DEF_BLOCK_SIZE_POW2 = 6 | 
Default block size in power of 2 in unit of pages.
Data transfer callback is invoked once for each block. This is also the maximum size of data that would be re-send if clone is stopped and resumed. For 16k page size, block size is 1M.
| const uint SNAPSHOT_DEF_CHUNK_SIZE_POW2 = 12 | 
Default chunk size in power of 2 in unit of pages.
Chunks are reserved by each thread for multi-threaded clone. For 16k page size, chunk size is 64M.
| const uint SNAPSHOT_MAX_BLOCK_SIZE_POW2 = 12 | 
Maximum block size in power of 2 in unit of pages.
For 16k page size, maximum block size is 64M.