mariadb/mysql-test/suite/encryption/t/encryption_force.test
Marko Mäkelä 88edb1b3ed MDEV-14219 Allow online table rebuild when encryption or compression parameters change
When MariaDB 10.1.0 introduced table options for encryption and
compression, it unnecessarily changed
ha_innobase::check_if_supported_inplace_alter() so that ALGORITHM=COPY
is forced when these parameters differ.

A better solution is to move the check to innobase_need_rebuild().
In that way, the ALGORITHM=INPLACE interface (yes, the syntax is
very misleading) can be used for rebuilding the table much more
efficiently, with merge sort, with no undo logging, and allowing
concurrent DML operations.
2017-10-31 09:10:25 +02:00

39 lines
1.1 KiB
Text

-- source include/have_innodb.inc
-- source include/have_partition.inc
-- source include/have_example_key_management_plugin.inc
select @@innodb_encrypt_tables;
create table t1 (a int) engine=innodb encrypted=yes;
create table t2 (a int) engine=innodb encrypted=default;
--error ER_CANT_CREATE_TABLE
create table t3 (a int) engine=innodb encrypted=no;
create table t4 (a int) engine=innodb encrypted=yes partition by hash(a) partitions 2;
--error ER_CANT_CREATE_TABLE
create table t5 (a int) engine=innodb encrypted=no partition by hash(a) partitions 2;
set global innodb_encrypt_tables='ON';
create table t3 (a int) engine=innodb encrypted=no;
set global innodb_encrypt_tables='FORCE';
show create table t1;
show create table t2;
show create table t3;
show create table t4;
--error ER_ILLEGAL_HA_CREATE_OPTION
alter table t1 encrypted=no;
alter table t2 encrypted=yes;
alter table t3 encrypted=default;
--error ER_ILLEGAL_HA_CREATE_OPTION
alter table t4 encrypted=no;
show create table t1;
show create table t2;
show create table t3;
drop table t1;
drop table t2;
drop table t3;
drop table t4;