# File lib/innodb/page.rb, line 356
  def checksum_crc32
    unless size == 16384
      raise "Checksum calculation is only supported for 16 KiB pages"
    end

    @checksum_crc32 ||= begin
      # Calculate the CRC32c of the page header.
      crc_partial_header = Digest::CRC32c.new
      each_page_header_byte_as_uint8 do |byte|
        crc_partial_header << byte.chr
      end

      # Calculate the CRC32c of the page body.
      crc_page_body = Digest::CRC32c.new
      each_page_body_byte_as_uint8 do |byte|
        crc_page_body << byte.chr
      end

      # Bitwise XOR the two checksums together.
      crc_partial_header.checksum ^ crc_page_body.checksum
    end
  end