summaryrefslogtreecommitdiff
path: root/storage/xtradb/include/fil0crypt.h
diff options
context:
space:
mode:
authorJan Lindström <jan.lindstrom@mariadb.com>2015-08-31 19:47:14 +0300
committerJan Lindström <jan.lindstrom@mariadb.com>2015-09-04 20:19:45 +0300
commit7e916bb86f512ff79f30d809b813608a625ec5ba (patch)
treed27594381375d2ec6907805b6fd1715ad1a86d13 /storage/xtradb/include/fil0crypt.h
parente1978234ebe6606c3ad5a0d1be6ce0f86fcf7642 (diff)
downloadmariadb-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.h11
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