• Jan Lindström's avatar
    MDEV-12634: Uninitialised ROW_MERGE_RESERVE_SIZE bytes written to tem… · fa2701c6
    Jan Lindström authored
    …porary file
    
    Fixed by removing writing key version to start of every block that
    was encrypted. Instead we will use single key version from log_sys
    crypt info.
    
    After this MDEV also blocks writen to row log are encrypted and blocks
    read from row log aren decrypted if encryption is configured for the
    table.
    
    innodb_status_variables[], struct srv_stats_t
    	Added status variables for merge block and row log block
    	encryption and decryption amounts.
    
    Removed ROW_MERGE_RESERVE_SIZE define.
    
    row_merge_fts_doc_tokenize
    	Remove ROW_MERGE_RESERVE_SIZE
    
    row_log_t
    	Add index, crypt_tail, crypt_head to be used in case of
    	encryption.
    
    row_log_online_op, row_log_table_close_func
    	Before writing a block encrypt it if encryption is enabled
    
    row_log_table_apply_ops, row_log_apply_ops
    	After reading a block decrypt it if encryption is enabled
    
    row_log_allocate
    	Allocate temporary buffers crypt_head and crypt_tail
    	if needed.
    
    row_log_free
    	Free temporary buffers crypt_head and crypt_tail if they
    	exist.
    
    row_merge_encrypt_buf, row_merge_decrypt_buf
    	Removed.
    
    row_merge_buf_create, row_merge_buf_write
    	Remove ROW_MERGE_RESERVE_SIZE
    
    row_merge_build_indexes
    	Allocate temporary buffer used in decryption and encryption
    	if needed.
    
    log_tmp_blocks_crypt, log_tmp_block_encrypt, log_temp_block_decrypt
    	New functions used in block encryption and decryption
    
    log_tmp_is_encrypted
    	New function to check is encryption enabled.
    
    Added test case innodb-rowlog to force creating a row log and
    verify that operations are done using introduced status
    variables.
    fa2701c6
innodb-rowlog.test 3.02 KB