mirror of
https://github.com/MariaDB/server.git
synced 2025-07-04 02:18:12 +02:00

- Information_schema.innodb_tablespaces_encryption should print undo tablespace name as innodb_undo001, innodb_undo002 and soon. - Encryption test should include undo tablespaces count when the tests are waiting for the condition to check whether all tables are encrypted or decrypted.
42 lines
1.6 KiB
Text
42 lines
1.6 KiB
Text
-- source include/have_innodb.inc
|
|
-- source include/have_debug.inc
|
|
-- source include/innodb_undo_tablespaces.inc
|
|
-- source include/not_embedded.inc
|
|
|
|
if (`select count(*) = 0 from information_schema.plugins
|
|
where plugin_name = 'debug_key_management' and plugin_status='active'`)
|
|
{
|
|
--skip Needs debug_key_management
|
|
}
|
|
|
|
create table t1(a serial) engine=innoDB;
|
|
|
|
set global innodb_encrypt_tables=ON;
|
|
show variables like 'innodb_encrypt%';
|
|
|
|
--let $tables_count= `select count(*) + 1 + @@global.innodb_undo_tablespaces from information_schema.tables where engine = 'InnoDB'`
|
|
let $wait_condition= select count(*) = $tables_count from information_schema.innodb_tablespaces_encryption where current_key_version=1;
|
|
--source include/wait_condition.inc
|
|
|
|
select count(*) from information_schema.innodb_tablespaces_encryption where current_key_version <> 1;
|
|
set global debug_key_management_version=10;
|
|
|
|
let $wait_condition= select count(*) = $tables_count from information_schema.innodb_tablespaces_encryption where current_key_version=10;
|
|
--source include/wait_condition.inc
|
|
select count(*) from information_schema.innodb_tablespaces_encryption where current_key_version <> 10;
|
|
|
|
# Test redo log key rotation and crash recovery.
|
|
SET GLOBAL innodb_log_checkpoint_now = 1;
|
|
SET GLOBAL innodb_flush_log_at_trx_commit = 1;
|
|
INSERT INTO t1 VALUES(NULL);
|
|
let $shutdown_timeout = 0;
|
|
-- source include/restart_mysqld.inc
|
|
|
|
# Note that we expect that key_version is increasing so disable encryption before reset
|
|
|
|
set global innodb_encrypt_tables=OFF;
|
|
set global debug_key_management_version=1;
|
|
|
|
select * from t1;
|
|
|
|
drop table t1;
|