MySQL 26.7.0
Source Code Documentation
log0encryption.h File Reference

Redo log - encryption. More...

#include "log0handler_interface.h"
#include "log0sys.h"
#include "os0enc.h"
#include "log0log.h"
#include "univ.i"

Go to the source code of this file.

Functions

Log - encryption management.
bool log_file_header_fill_encryption (const Encryption_metadata &encryption_metadata, bool encrypt_key, byte *buf)
 Writes encryption information to log header. More...
 
dberr_t log_encryption_read (log_t &log, ib::redo::Handler_interface::Metadata_value &block)
 Reads the log encryption header to get the redo log encryption information. More...
 
dberr_t log_read_encryption_info (log_t &log)
 Read the log encryption information from Redo Log Handler and update log.m_encryption_metadata and log.m_encryption_buf. More...
 
dberr_t log_encryption_update_and_write_header (log_t &log, const ib::redo::Handler_interface::Metadata_value block)
 Update in-mem encryption information with the new information and also write this new information to encryption header. More...
 
dberr_t log_encryption_generate_metadata ()
 Generate new encryption information for REDO log. More...
 
bool log_can_encrypt (const log_t &log)
 

Detailed Description

Redo log - encryption.

Function Documentation

◆ log_can_encrypt()

bool log_can_encrypt ( const log_t log)
Returns
true iff redo log is encrypted (checks in-memory metadata in log_t).

◆ log_encryption_generate_metadata()

dberr_t log_encryption_generate_metadata ( )

Generate new encryption information for REDO log.

Returns
DB_SUCCESS or DB_ERROR

◆ log_encryption_read()

dberr_t log_encryption_read ( log_t log,
ib::redo::Handler_interface::Metadata_value block 
)

Reads the log encryption header to get the redo log encryption information.

Read is done using the file which contains the current checkpoint_lsn.

Parameters
[in]logredo log
[out]blockblock to read encryption information into
Returns
DB_SUCCESS or DB_ERROR

◆ log_encryption_update_and_write_header()

dberr_t log_encryption_update_and_write_header ( log_t log,
const ib::redo::Handler_interface::Metadata_value  block 
)

Update in-mem encryption information with the new information and also write this new information to encryption header.

Parameters
[in,out]logredo log
[in]blockblock containing new encryption information
Returns
DB_SUCCESS or DB_ERROR

◆ log_file_header_fill_encryption()

bool log_file_header_fill_encryption ( const Encryption_metadata encryption_metadata,
bool  encrypt_key,
byte buf 
)

Writes encryption information to log header.

Parameters
[in]encryption_metadataencryption metadata (algorithm, key, iv)
[in]encrypt_keyencrypt with master key
[in,out]buflog file encryption header

◆ log_read_encryption_info()

dberr_t log_read_encryption_info ( log_t log)

Read the log encryption information from Redo Log Handler and update log.m_encryption_metadata and log.m_encryption_buf.

Parameters
[out]logredo log
Returns
DB_SUCCESS or DB_ERROR