![]()  | 
  
    MySQL 8.0.44
    
   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.