1
0
mirror of https://github.com/MariaDB/server.git synced 2025-06-03 07:02:23 +03:00
mariadb/mysql-test/suite/encryption/r/encryption_force.result
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

61 lines
2.0 KiB
Plaintext

select @@innodb_encrypt_tables;
@@innodb_encrypt_tables
FORCE
create table t1 (a int) engine=innodb encrypted=yes;
create table t2 (a int) engine=innodb encrypted=default;
create table t3 (a int) engine=innodb encrypted=no;
ERROR HY000: Can't create table `test`.`t3` (errno: 140 "Wrong create options")
create table t4 (a int) engine=innodb encrypted=yes partition by hash(a) partitions 2;
create table t5 (a int) engine=innodb encrypted=no partition by hash(a) partitions 2;
ERROR HY000: Can't create table `test`.`t5` (errno: 140 "Wrong create options")
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;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 `encrypted`=yes
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
`a` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
show create table t3;
Table Create Table
t3 CREATE TABLE `t3` (
`a` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 `encrypted`=no
show create table t4;
Table Create Table
t4 CREATE TABLE `t4` (
`a` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 `encrypted`=yes
/*!50100 PARTITION BY HASH (a)
PARTITIONS 2 */
alter table t1 encrypted=no;
ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'ENCRYPTED'
alter table t2 encrypted=yes;
alter table t3 encrypted=default;
alter table t4 encrypted=no;
ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'ENCRYPTED'
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 `encrypted`=yes
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
`a` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 `encrypted`=yes
show create table t3;
Table Create Table
t3 CREATE TABLE `t3` (
`a` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
drop table t1;
drop table t2;
drop table t3;
drop table t4;