![]() |
MySQL 26.7.0
Source Code Documentation
|
Classes | |
| struct | Const_buffers |
| class | Handler |
| class | Handler_interface |
| This Redo Log Handler interface provides an abstraction over the redo log persistence and publishing of the redo log records. More... | |
| class | Mtr_view |
| This class represents a list of parsed redo records that form an mtr. More... | |
| struct | Page_handle |
| The handle that represents the page where redo log records are applied. More... | |
| class | Page_handle_wrapper |
| A convenience wrapper over the Page_handle (where redo log records are applied). More... | |
| class | Parse_error |
| Parse error description. More... | |
| struct | Record_handle |
| The handle that represents a log record. More... | |
| class | Record_view |
| This class represents a parsed redo record. More... | |
| class | Redo_applier |
| This class allows to parse and apply redo records. More... | |
| class | Sys_var_handler |
| This class implements the handling of redo log related system variables. More... | |
Typedefs | |
| using | Lsn = uint64_t |
| using | Buffer = std::span< uint8_t > |
| using | Const_buffer = std::span< const uint8_t > |
| using | Record_list = std::vector< Record_view > |
| template<typename T > | |
| using | Parse_result = ut::Expected< T, Parse_error > |
Enumerations | |
| enum class | Status { SUCCESS = 0 , STREAM_END , LOG_ALREADY_EXISTS , NO_LOG , COULD_NOT_CREATE , COULD_NOT_OPEN , ALREADY_TRUNCATED , WRONG_START_LSN , WRONG_STATE , READ_ERROR , WRITE_ERROR , NOT_WRITTEN_YET , FLUSH_ERROR , METADATA_IS_MISSING , WRITE_METADATA_ERROR , INCONSISTENT , COULD_NOT_RESIZE , TORN_STREAM_END } |
| Additional error constants may be added to the list here, keeping in mind the following guidelines about our approach to error handling: More... | |
| enum | Metadata_key : uint16_t { HEADER = 0 , CHECKPOINT } |
| The type of metadata that could be handled by the handler. More... | |
Functions | |
| void | must_succeed (Status res, const ut::Location &loc) |
| void | must_persist_all (const ut::Location &loc, Handler_interface::Durability desired_guarantee=Handler_interface::Durability::FULLY_PERSISTED) |
| static sn_t | log_concurrency_margin (const size_t max_threads, const size_t reserved_bytes_per_thread, lsn_t log_capacity, bool &is_safe) |
| Computes concurrency margin to be used within log_free_check calls, for a given redo log capacity (soft_logical_capacity). More... | |
Allocation and deallocation of log_sys | |
| void | set_handler (Handler_interface *handler) |
| Sets the concrete Redo Log Handler to be used. More... | |
Variables | |
| Handler_interface * | handler {} |
| using ib::redo::Buffer = typedef std::span<uint8_t> |
| using ib::redo::Const_buffer = typedef std::span<const uint8_t> |
| using ib::redo::Lsn = typedef uint64_t |
| using ib::redo::Parse_result = typedef ut::Expected<T, Parse_error> |
| using ib::redo::Record_list = typedef std::vector<Record_view> |
| enum ib::redo::Metadata_key : uint16_t |
|
strong |
Additional error constants may be added to the list here, keeping in mind the following guidelines about our approach to error handling:
|
static |
Computes concurrency margin to be used within log_free_check calls, for a given redo log capacity (soft_logical_capacity).
| [in,out] | max_threads | The maximum number of concurrently existing threads which use redo-logged mtrs (call write_mtr). |
| [in] | reserved_bytes_per_thread | The maximum number of bytes a thread can pass to write_mtr, before calling wait_for_space() again. |
| [in] | log_capacity | redo log capacity (soft) |
| [out] | is_safe | true iff the computed margin wasn't truncated because of too small log_capacity |
|
inline |
|
inline |
| void ib::redo::set_handler | ( | Handler_interface * | handler | ) |
Sets the concrete Redo Log Handler to be used.
| [in] | handler | A Redo Log Handler Object |
|
extern |