51                             bool use_legacy_big_endian = 
false);
 
  115                                         uint32_t checksum_field2
 
  117                                         uint32_t 
crc32 [[maybe_unused]],
 
  119                                         [[maybe_unused]])
 const {}
 
  126                                          uint32_t checksum_field2
 
  127                                          [[maybe_unused]])
 const {}
 
  135                                        uint32_t checksum_field2
 
  138                                        [[maybe_unused]])
 const {}
 
  147      uint32_t old_checksum [[maybe_unused]],
 
  148      uint32_t new_checksum [[maybe_unused]],
 
  149      uint32_t checksum_field1 [[maybe_unused]],
 
  150      uint32_t checksum_field2 [[maybe_unused]],
 
  162                                           uint32_t checksum_field2
 
  163                                           [[maybe_unused]])
 const {}
 
  176                                                [[maybe_unused]])
 const {}
 
  200  [[nodiscard]] 
static bool is_lsn_valid(
const byte *frame,
 
  201                                         uint32_t page_size) 
noexcept;
 
  210                                uint32_t checksum_field2,
 
  219                              uint32_t checksum_field2,
 
  229                               uint32_t checksum_field2,
 
  231                               bool use_legacy_big_endian) 
const;
 
uint32_t space_id_t
Tablespace identifier.
Definition: api0api.h:52
 
uint32_t page_no_t
Page number.
Definition: api0api.h:50
 
ulong srv_checksum_algorithm
the macro MYSQL_SYSVAR_ENUM() requires "long unsigned int" and if we use srv_checksum_algorithm_t her...
Definition: checksum.cc:57
 
uint32_t buf_calc_page_new_checksum(const byte *page)
Calculates a page checksum which is stored to the page when it is written to a file.
Definition: checksum.cc:98
 
const char * buf_checksum_algorithm_name(srv_checksum_algorithm_t algo)
Return a printable string describing the checksum algorithm.
Definition: checksum.cc:128
 
uint32_t buf_calc_page_old_checksum(const byte *page)
In versions < 4.0.14 and < 4.1.1 there was a bug that the checksum only looked at the first few bytes...
Definition: checksum.cc:121
 
uint32_t buf_calc_page_crc32(const byte *page, bool use_legacy_big_endian=false)
Calculates the CRC32 checksum of a page.
Definition: checksum.cc:71
 
The database buffer pool global types for the directory.
 
srv_checksum_algorithm_t
Alternatives for srv_checksum_algorithm, which can be changed by setting innodb_checksum_algorithm.
Definition: buf0types.h:115
 
Class to print checksums to log file.
Definition: buf0checksum.h:76
 
virtual void print_crc32_checksum(uint32_t checksum_field1, uint32_t checksum_field2) const
Print both new-style, old-style & crc32 checksum values.
Definition: buf0checksum.h:160
 
bool is_encrypted() const noexcept
Checks if a page is encrypted.
Definition: checksum.cc:265
 
virtual void report_empty_page(bool empty) const
Print message if page is empty.
Definition: buf0checksum.h:106
 
page_no_t page_no() const noexcept
Definition: checksum.cc:735
 
BlockReporter(bool check_lsn, const byte *read_buf, const page_size_t &page_size, bool skip_checksum)
Constructor.
Definition: buf0checksum.h:84
 
virtual void print_compressed_checksum(uint32_t calc, uint32_t stored) const
Print checksum values on a compressed page.
Definition: buf0checksum.h:174
 
virtual void print_strict_none(uint32_t checksum_field1, uint32_t checksum_field2, srv_checksum_algorithm_t algo) const
Print none checksum and the checksum fields in page.
Definition: buf0checksum.h:133
 
bool verify_zip_checksum() const
Verify a compressed page's checksum.
Definition: checksum.cc:531
 
bool is_corrupted() const
Checks if a page is corrupt.
Definition: checksum.cc:276
 
bool m_check_lsn
If true, do a LSN check during innodb recovery.
Definition: buf0checksum.h:247
 
uint32_t calc_zip_checksum(const byte *read_buf, ulint phys_page_size, srv_checksum_algorithm_t algo) const
Calculate the compressed page checksum.
Definition: checksum.cc:487
 
virtual void print_none_fail() const
Print a message that none check failed.
Definition: buf0checksum.h:169
 
BlockReporter(const BlockReporter &)=default
 
bool is_checksum_valid_crc32(uint32_t checksum_field1, uint32_t checksum_field2, const srv_checksum_algorithm_t algo, bool use_legacy_big_endian) const
Checks if the page is in crc32 checksum format.
Definition: checksum.cc:250
 
const page_size_t & m_page_size
Page size.
Definition: buf0checksum.h:251
 
bool m_skip_checksum
Skip checksum verification but compare only data.
Definition: buf0checksum.h:253
 
bool is_checksum_valid_none(uint32_t checksum_field1, uint32_t checksum_field2, const srv_checksum_algorithm_t algo) const
Checks if the page is in none checksum format.
Definition: checksum.cc:235
 
virtual void print_innodb_checksum(uint32_t old_checksum, uint32_t new_checksum, uint32_t checksum_field1, uint32_t checksum_field2, srv_checksum_algorithm_t algo) const
Print innodb checksum value stored in page trailer.
Definition: buf0checksum.h:146
 
virtual ~BlockReporter()=default
 
virtual void print_strict_crc32(uint32_t checksum_field1, uint32_t checksum_field2, uint32_t crc32, srv_checksum_algorithm_t algo) const
Print crc32 checksum and the checksum fields in page.
Definition: buf0checksum.h:113
 
virtual void print_strict_innodb(uint32_t checksum_field1, uint32_t checksum_field2) const
Print innodb checksum and the checksum fields in page.
Definition: buf0checksum.h:124
 
bool is_checksum_valid_innodb(uint32_t checksum_field1, uint32_t checksum_field2, const srv_checksum_algorithm_t algo) const
Checks if the page is in innodb checksum format.
Definition: checksum.cc:198
 
static bool is_lsn_valid(const byte *frame, uint32_t page_size) noexcept
Definition: checksum.cc:717
 
virtual void print_crc32_fail() const
Print a message that crc32 check failed.
Definition: buf0checksum.h:166
 
space_id_t space_id() const noexcept
Definition: checksum.cc:731
 
const byte * m_read_buf
Buffer holding the page.
Definition: buf0checksum.h:249
 
void page_warn_strict_checksum(srv_checksum_algorithm_t curr_algo, srv_checksum_algorithm_t page_checksum, const page_id_t &page_id) const
Issue a warning when the checksum that is stored in the page is valid, but different than the global ...
Definition: checksum.cc:671
 
virtual void print_innodb_fail() const
Print the message that checksum mismatch happened in page header.
Definition: buf0checksum.h:155
 
Page identifier.
Definition: buf0types.h:207
 
Page size descriptor.
Definition: page0size.h:50
 
int page
Definition: ctype-mb.cc:1236
 
bool empty(const Histogram &histogram)
Return true if 'histogram' was built on an empty table.
Definition: histogram.h:672
 
uint32_t crc32(const byte *buf, size_t len)
Computes CRC32-C hash not using any hardware acceleration.
Definition: crc32.cc:282
 
A class describing a page size.
 
Version control for database, common definitions, and include files.
 
unsigned long int ulint
Definition: univ.i:406