mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge 10.3 into 10.4
This commit is contained in:
@ -1,7 +1,3 @@
|
||||
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
|
||||
NAME
|
||||
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
|
||||
NAME
|
||||
SET GLOBAL innodb_file_per_table = ON;
|
||||
set global innodb_compression_algorithm = 1;
|
||||
create database enctests;
|
||||
|
20
mysql-test/suite/encryption/r/key_version_rotation.result
Normal file
20
mysql-test/suite/encryption/r/key_version_rotation.result
Normal file
@ -0,0 +1,20 @@
|
||||
create table t1(f1 int not null)engine=innodb;
|
||||
create table t2(f1 int not null)engine=innodb;
|
||||
insert into t1 select * from seq_1_to_100;
|
||||
insert into t2 select * from seq_1_to_100;
|
||||
# restart: --innodb_encrypt_tables=0 --innodb_encryption_threads=1 --innodb_encryption_rotate_key_age=9
|
||||
# Enable encryption
|
||||
set global innodb_encrypt_tables=ON;
|
||||
# Create a new table and it is added to rotation list
|
||||
create table t3(f1 int not null)engine=innodb;
|
||||
insert into t3 select * from seq_1_to_100;
|
||||
# Increase the version and it should set rotation
|
||||
# variable for the encryption plugin
|
||||
set global debug_key_management_version=10;
|
||||
select @@debug_key_management_version;
|
||||
@@debug_key_management_version
|
||||
10
|
||||
# Decrease the key version and Disable the encryption
|
||||
set global debug_key_management_version=1;
|
||||
set global innodb_encrypt_tables=off;
|
||||
DROP TABLE t1, t2, t3;
|
@ -3898,6 +3898,25 @@ id rn
|
||||
1 1
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-25630: Crash with window function in left expr of IN subquery
|
||||
#
|
||||
CREATE TABLE t1 (i int);
|
||||
INSERT INTO t1 VALUES (1),(2),(3);
|
||||
SELECT lag(i) over (ORDER BY i) IN ( SELECT 1 FROM t1 a) FROM t1;
|
||||
lag(i) over (ORDER BY i) IN ( SELECT 1 FROM t1 a)
|
||||
NULL
|
||||
1
|
||||
0
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (i int);
|
||||
INSERT INTO t1 VALUES (1),(2),(3);
|
||||
SELECT sum(i) over () IN ( SELECT 1 FROM t1 a) FROM t1;
|
||||
sum(i) over () IN ( SELECT 1 FROM t1 a)
|
||||
0
|
||||
0
|
||||
0
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# End of 10.2 tests
|
||||
#
|
||||
#
|
||||
|
@ -3,9 +3,6 @@
|
||||
# not embedded because of restarts
|
||||
-- source include/not_embedded.inc
|
||||
|
||||
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
|
||||
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
|
||||
|
||||
let $encryption = `SELECT @@innodb_encrypt_tables`;
|
||||
SET GLOBAL innodb_file_per_table = ON;
|
||||
# zlib
|
||||
|
2
mysql-test/suite/encryption/t/key_version_rotation.opt
Normal file
2
mysql-test/suite/encryption/t/key_version_rotation.opt
Normal file
@ -0,0 +1,2 @@
|
||||
--innodb-tablespaces-encryption
|
||||
--plugin-load-add=$DEBUG_KEY_MANAGEMENT_SO
|
41
mysql-test/suite/encryption/t/key_version_rotation.test
Normal file
41
mysql-test/suite/encryption/t/key_version_rotation.test
Normal file
@ -0,0 +1,41 @@
|
||||
--source include/have_innodb.inc
|
||||
--source include/have_debug.inc
|
||||
--source include/have_sequence.inc
|
||||
|
||||
create table t1(f1 int not null)engine=innodb;
|
||||
create table t2(f1 int not null)engine=innodb;
|
||||
insert into t1 select * from seq_1_to_100;
|
||||
insert into t2 select * from seq_1_to_100;
|
||||
|
||||
let $restart_parameters=--innodb_encrypt_tables=0 --innodb_encryption_threads=1 --innodb_encryption_rotate_key_age=9;
|
||||
--source include/restart_mysqld.inc
|
||||
|
||||
--echo # Enable encryption
|
||||
|
||||
set global innodb_encrypt_tables=ON;
|
||||
--let $tables_count= `select count(*) from information_schema.tables where engine = 'InnoDB'`
|
||||
--let $wait_timeout= 600
|
||||
--let $wait_condition=SELECT COUNT(*) >= $tables_count FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
|
||||
--source include/wait_condition.inc
|
||||
--echo # Create a new table and it is added to rotation list
|
||||
create table t3(f1 int not null)engine=innodb;
|
||||
insert into t3 select * from seq_1_to_100;
|
||||
|
||||
--echo # Increase the version and it should set rotation
|
||||
--echo # variable for the encryption plugin
|
||||
|
||||
set global debug_key_management_version=10;
|
||||
select @@debug_key_management_version;
|
||||
--let $tables_count= `select count(*) from information_schema.tables where engine = 'InnoDB'`
|
||||
--let $wait_timeout= 600
|
||||
--let $wait_condition=SELECT COUNT(*) >= $tables_count FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
|
||||
--source include/wait_condition.inc
|
||||
|
||||
--echo # Decrease the key version and Disable the encryption
|
||||
set global debug_key_management_version=1;
|
||||
set global innodb_encrypt_tables=off;
|
||||
|
||||
--let $wait_timeout= 600
|
||||
--let $wait_condition=SELECT COUNT(*) >= $tables_count FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
|
||||
--source include/wait_condition.inc
|
||||
DROP TABLE t1, t2, t3;
|
Reference in New Issue
Block a user