MySQL 8.0.40
Source Code Documentation
|
The IO Context that is passed down to the low level IO code. More...
#include <os0file.h>
Public Types | |
enum | { UNSET = 0 , READ = 1 , WRITE = 2 , DBLWR = 4 , DATA_FILE = 8 , LOG = 16 , DISABLE_PARTIAL_IO_WARNINGS = 32 , DO_NOT_WAKE = 64 , IGNORE_MISSING = 128 , PUNCH_HOLE = 256 , NO_COMPRESSION = 512 , ROW_LOG = 1024 , DISABLE_PUNCH_HOLE_OPTIMISATION = 2048 } |
Flags passed in the request, they can be ORred together. More... | |
Public Member Functions | |
IORequest () | |
Default constructor. More... | |
IORequest (int type) | |
bool | is_read () const |
bool | is_write () const |
bool | is_log () const |
bool | is_row_log () const |
bool | is_wake () const |
bool | is_partial_io_warning_disabled () const |
void | disable_partial_io_warnings () |
Disable partial read warnings. More... | |
bool | ignore_missing () const |
bool | punch_hole () const |
bool | is_punch_hole_optimisation_disabled () const |
bool | validate () const |
void | set_punch_hole () |
Set the punch hole flag. More... | |
void | disable_punch_hole_optimisation () |
Set the force punch hole flag. More... | |
void | clear_do_not_wake () |
Clear the do not wake flag. More... | |
void | clear_punch_hole () |
Clear the punch hole flag. More... | |
ulint | block_size () const |
void | block_size (ulint block_size) |
Set the block size for IO. More... | |
uint32_t | get_original_size () const |
Returns original size of the IO to make. More... | |
void | set_original_size (uint32_t original_size) |
void | clear_compressed () |
Clear all compression related flags. More... | |
bool | operator== (const IORequest &rhs) const |
Compare two requests. More... | |
void | compression_algorithm (Compression::Type type) |
Set compression algorithm. More... | |
Compression | compression_algorithm () const |
Get the compression algorithm. More... | |
bool | is_compressed () const |
bool | is_compression_enabled () const |
void | disable_compression () |
Disable transformations. More... | |
Encryption | encryption_algorithm () const |
Get the encryption algorithm. More... | |
bool | is_encrypted () const |
void | clear_encrypted () |
Clear all encryption related flags. More... | |
void | dblwr () |
Note that the IO is for double write buffer page write. More... | |
bool | is_dblwr () const |
std::string | to_string () const |
Encryption & | get_encryption_info () noexcept |
Get a reference to the underlying encryption information. More... | |
void | set_encrypted_block (const file::Block *eblock) noexcept |
Set the encrypted block to the given value. More... | |
const file::Block * | get_encrypted_block () const noexcept |
Get the encrypted block. More... | |
Static Public Member Functions | |
static bool | ignore_missing (int type) |
static bool | is_punch_hole_supported () |
Private Attributes | |
uint32_t | m_block_size {} |
int | m_type {} |
Request type bit flags. More... | |
Compression | m_compression {} |
Compression algorithm. More... | |
Encryption | m_encryption {} |
Encryption algorithm. More... | |
const file::Block * | m_eblock {} |
The encrypted block. More... | |
uint32_t | m_elen {} |
The length of data in encrypted block. More... | |
uint32_t | m_original_size {} |
Length of the original IO size. More... | |
The IO Context that is passed down to the low level IO code.
anonymous enum |
Flags passed in the request, they can be ORred together.
|
inline |
Default constructor.
|
inlineexplicit |
[in] | type | Request type, can be a value that is ORed from the above enum |
|
inline |
|
inline |
Set the block size for IO.
[in] | block_size | Block size to set |
|
inline |
Clear all compression related flags.
|
inline |
Clear the do not wake flag.
|
inline |
Clear all encryption related flags.
|
inline |
Clear the punch hole flag.
|
inline |
Get the compression algorithm.
|
inline |
Set compression algorithm.
[in] | type | The compression algorithm to use |
|
inline |
Note that the IO is for double write buffer page write.
|
inline |
Disable transformations.
|
inline |
Disable partial read warnings.
|
inline |
Set the force punch hole flag.
|
inline |
Get the encryption algorithm.
|
inlinenoexcept |
Get the encrypted block.
|
inlinenoexcept |
Get a reference to the underlying encryption information.
|
inline |
Returns original size of the IO to make.
If one was not specified, then 0 is returned.
|
inline |
|
inlinestatic |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Compare two requests.
|
inline |
|
inlinenoexcept |
Set the encrypted block to the given value.
[in] | eblock | the encrypted block. |
|
inline |
|
inline |
Set the punch hole flag.
|
inline |
Enumerations below can be ORed to READ/WRITE above
Data file
|
inline |
|
private |
|
private |
Compression algorithm.
|
private |
The encrypted block.
|
private |
The length of data in encrypted block.
|
private |
Encryption algorithm.
|
private |
Length of the original IO size.
For reads it is an expected uncompressed length. For writes it is a length up to which the write is to be extended with a punch hole, if supported.
|
private |
Request type bit flags.