diff options
author | Jan Lindström <jan.lindstrom@mariadb.com> | 2015-08-31 19:47:14 +0300 |
---|---|---|
committer | Jan Lindström <jan.lindstrom@mariadb.com> | 2015-09-04 20:19:45 +0300 |
commit | 7e916bb86f512ff79f30d809b813608a625ec5ba (patch) | |
tree | d27594381375d2ec6907805b6fd1715ad1a86d13 /storage/xtradb/include/fil0crypt.h | |
parent | e1978234ebe6606c3ad5a0d1be6ce0f86fcf7642 (diff) | |
download | mariadb-git-7e916bb86f512ff79f30d809b813608a625ec5ba.tar.gz |
MDEV-8588: Assertion failure in file ha_innodb.cc line 21140 if at least one encrypted table exists and encryption service is not available
Analysis: Problem was that in fil_read_first_page we do find that
table has encryption information and that encryption service
or used key_id is not available. But, then we just printed
fatal error message that causes above assertion.
Fix: When we open single table tablespace if it has encryption
information (crypt_data) store this crypt data to the table
structure. When we open a table and we find out that tablespace
is not available, check has table a encryption information
and from there is encryption service or used key_id is not available.
If it is, add additional warning for SQL-layer.
Diffstat (limited to 'storage/xtradb/include/fil0crypt.h')
-rw-r--r-- | storage/xtradb/include/fil0crypt.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/storage/xtradb/include/fil0crypt.h b/storage/xtradb/include/fil0crypt.h index 4fd41d4b789..a9491e3131f 100644 --- a/storage/xtradb/include/fil0crypt.h +++ b/storage/xtradb/include/fil0crypt.h @@ -381,6 +381,17 @@ fil_crypt_set_encrypt_tables( /*=========================*/ uint val); /*!< in: New srv_encrypt_tables setting */ +/****************************************************************** +Calculate post encryption checksum +@return page checksum or BUF_NO_CHECKSUM_MAGIC +not needed. */ +UNIV_INTERN +ulint +fil_crypt_calculate_checksum( +/*=========================*/ + ulint zip_size, /*!< in: zip_size or 0 */ + byte* dst_frame); /*!< in: page where to calculate */ + #ifndef UNIV_NONINL #include "fil0crypt.ic" #endif |