-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'bb-10.1-jan-encryption' into bb-10.1-serg
With changes: * update tests to pass (new encryption/encryption_key_id syntax). * not merged the code that makes engine aware of the encryption mode (CRYPT_SCHEME_1_CBC, CRYPT_SCHEME_1_CTR, storing it on disk, etc), because now the encryption plugin is handling it. * compression+encryption did not work in either branch before the merge - and it does not work after the merge. it might be more broken after the merge though - some of that code was not merged. * page checksumming code was not moved (moving of page checksumming from fil_space_encrypt() to fil_space_decrypt was not merged). * restored deleted lines in buf_page_get_frame(), otherwise innodb_scrub test failed.
- Loading branch information
Showing
108 changed files
with
3,390 additions
and
4,898 deletions.
There are no files selected for viewing
125 changes: 125 additions & 0 deletions
125
mysql-test/suite/innodb/r/innodb-page_encryption-32k.result
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,125 @@ | ||
call mtr.add_suppression("InnoDB: Warning: innodb_page_size has been changed from default value *"); | ||
SET GLOBAL innodb_file_format = `Barracuda`; | ||
SET GLOBAL innodb_file_per_table = ON; | ||
create table innodb_normal(c1 bigint not null, b char(200)) engine=innodb; | ||
create table innodb_compact(c1 bigint not null, b char(200)) engine=innodb row_format=compact encryption='ON' encryption_key_id=1; | ||
create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic encryption='ON' encryption_key_id=3; | ||
create table innodb_redundant(c1 bigint not null, b char(200)) engine=innodb row_format=redundant encryption='ON' encryption_key_id=4; | ||
show create table innodb_compact; | ||
Table Create Table | ||
innodb_compact CREATE TABLE `innodb_compact` ( | ||
`c1` bigint(20) NOT NULL, | ||
`b` char(200) DEFAULT NULL | ||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT `encryption`='ON' `encryption_key_id`=1 | ||
show create table innodb_dynamic; | ||
Table Create Table | ||
innodb_dynamic CREATE TABLE `innodb_dynamic` ( | ||
`c1` bigint(20) NOT NULL, | ||
`b` char(200) DEFAULT NULL | ||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC `encryption`='ON' `encryption_key_id`=3 | ||
show create table innodb_redundant; | ||
Table Create Table | ||
innodb_redundant CREATE TABLE `innodb_redundant` ( | ||
`c1` bigint(20) NOT NULL, | ||
`b` char(200) DEFAULT NULL | ||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=REDUNDANT `encryption`='ON' `encryption_key_id`=4 | ||
create procedure innodb_insert_proc (repeat_count int) | ||
begin | ||
declare current_num int; | ||
set current_num = 0; | ||
while current_num < repeat_count do | ||
insert into innodb_normal values(current_num, substring(MD5(RAND()), -150)); | ||
set current_num = current_num + 1; | ||
end while; | ||
end// | ||
commit; | ||
set autocommit=0; | ||
call innodb_insert_proc(5000); | ||
commit; | ||
set autocommit=1; | ||
insert into innodb_compact select * from innodb_normal; | ||
insert into innodb_dynamic select * from innodb_normal; | ||
insert into innodb_redundant select * from innodb_normal; | ||
update innodb_compact set c1 = c1 + 1; | ||
update innodb_dynamic set c1 = c1 + 1; | ||
update innodb_redundant set c1 = c1 + 1; | ||
select count(*) from innodb_compact where c1 < 1500000; | ||
count(*) | ||
5000 | ||
select count(*) from innodb_dynamic where c1 < 1500000; | ||
count(*) | ||
5000 | ||
select count(*) from innodb_redundant where c1 < 1500000; | ||
count(*) | ||
5000 | ||
update innodb_compact set c1 = c1 + 1; | ||
update innodb_dynamic set c1 = c1 + 1; | ||
update innodb_redundant set c1 = c1 + 1; | ||
select count(*) from innodb_compact where c1 < 1500000; | ||
count(*) | ||
5000 | ||
select count(*) from innodb_dynamic where c1 < 1500000; | ||
count(*) | ||
5000 | ||
select count(*) from innodb_redundant where c1 < 1500000; | ||
count(*) | ||
5000 | ||
alter table innodb_compact engine=innodb encryption=DEFAULT encryption_key_id=DEFAULT; | ||
show create table innodb_compact; | ||
Table Create Table | ||
innodb_compact CREATE TABLE `innodb_compact` ( | ||
`c1` bigint(20) NOT NULL, | ||
`b` char(200) DEFAULT NULL | ||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT | ||
alter table innodb_dynamic engine=innodb encryption=DEFAULT encryption_key_id=DEFAULT; | ||
Warnings: | ||
Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_format > Antelope. | ||
Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT. | ||
show create table innodb_dynamic; | ||
Table Create Table | ||
innodb_dynamic CREATE TABLE `innodb_dynamic` ( | ||
`c1` bigint(20) NOT NULL, | ||
`b` char(200) DEFAULT NULL | ||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC | ||
alter table innodb_redundant engine=innodb encryption=DEFAULT encryption_key_id=DEFAULT; | ||
show create table innodb_redundant; | ||
Table Create Table | ||
innodb_redundant CREATE TABLE `innodb_redundant` ( | ||
`c1` bigint(20) NOT NULL, | ||
`b` char(200) DEFAULT NULL | ||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=REDUNDANT | ||
show create table innodb_compact; | ||
Table Create Table | ||
innodb_compact CREATE TABLE `innodb_compact` ( | ||
`c1` bigint(20) NOT NULL, | ||
`b` char(200) DEFAULT NULL | ||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT | ||
show create table innodb_dynamic; | ||
Table Create Table | ||
innodb_dynamic CREATE TABLE `innodb_dynamic` ( | ||
`c1` bigint(20) NOT NULL, | ||
`b` char(200) DEFAULT NULL | ||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC | ||
show create table innodb_redundant; | ||
Table Create Table | ||
innodb_redundant CREATE TABLE `innodb_redundant` ( | ||
`c1` bigint(20) NOT NULL, | ||
`b` char(200) DEFAULT NULL | ||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=REDUNDANT | ||
update innodb_compact set c1 = c1 + 1; | ||
update innodb_dynamic set c1 = c1 + 1; | ||
update innodb_redundant set c1 = c1 + 1; | ||
select count(*) from innodb_compact where c1 < 1500000; | ||
count(*) | ||
5000 | ||
select count(*) from innodb_dynamic where c1 < 1500000; | ||
count(*) | ||
5000 | ||
select count(*) from innodb_redundant where c1 < 1500000; | ||
count(*) | ||
5000 | ||
drop procedure innodb_insert_proc; | ||
drop table innodb_normal; | ||
drop table innodb_compact; | ||
drop table innodb_dynamic; | ||
drop table innodb_redundant; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.