mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
MDEV-8130 Wrong error code/message while encrypting a partitioned InnoDB table
when checking for a flag, use & not ==
This commit is contained in:
@ -5,6 +5,9 @@ create table t1 (a int) engine=innodb encrypted=yes;
|
|||||||
create table t2 (a int) engine=innodb encrypted=default;
|
create table t2 (a int) engine=innodb encrypted=default;
|
||||||
create table t3 (a int) engine=innodb encrypted=no;
|
create table t3 (a int) engine=innodb encrypted=no;
|
||||||
ERROR HY000: Can't create table `test`.`t3` (errno: 140 "Wrong create options")
|
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';
|
set global innodb_encrypt_tables='ON';
|
||||||
create table t3 (a int) engine=innodb encrypted=no;
|
create table t3 (a int) engine=innodb encrypted=no;
|
||||||
set global innodb_encrypt_tables='FORCE';
|
set global innodb_encrypt_tables='FORCE';
|
||||||
@ -23,10 +26,19 @@ Table Create Table
|
|||||||
t3 CREATE TABLE `t3` (
|
t3 CREATE TABLE `t3` (
|
||||||
`a` int(11) DEFAULT NULL
|
`a` int(11) DEFAULT NULL
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 `encrypted`=no
|
) 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;
|
alter table t1 encrypted=no;
|
||||||
ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 140 "Wrong create options")
|
ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 140 "Wrong create options")
|
||||||
alter table t2 encrypted=yes;
|
alter table t2 encrypted=yes;
|
||||||
alter table t3 encrypted=default;
|
alter table t3 encrypted=default;
|
||||||
|
alter table t4 encrypted=no;
|
||||||
|
ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 140 "Wrong create options")
|
||||||
show create table t1;
|
show create table t1;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t1 CREATE TABLE `t1` (
|
t1 CREATE TABLE `t1` (
|
||||||
@ -45,3 +57,4 @@ t3 CREATE TABLE `t3` (
|
|||||||
drop table t1;
|
drop table t1;
|
||||||
drop table t2;
|
drop table t2;
|
||||||
drop table t3;
|
drop table t3;
|
||||||
|
drop table t4;
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
-- source include/have_innodb.inc
|
-- source include/have_innodb.inc
|
||||||
|
-- source include/have_partition.inc
|
||||||
-- source include/have_example_key_management_plugin.inc
|
-- source include/have_example_key_management_plugin.inc
|
||||||
|
|
||||||
select @@innodb_encrypt_tables;
|
select @@innodb_encrypt_tables;
|
||||||
@ -8,6 +9,10 @@ create table t2 (a int) engine=innodb encrypted=default;
|
|||||||
--error ER_CANT_CREATE_TABLE
|
--error ER_CANT_CREATE_TABLE
|
||||||
create table t3 (a int) engine=innodb encrypted=no;
|
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';
|
set global innodb_encrypt_tables='ON';
|
||||||
create table t3 (a int) engine=innodb encrypted=no;
|
create table t3 (a int) engine=innodb encrypted=no;
|
||||||
set global innodb_encrypt_tables='FORCE';
|
set global innodb_encrypt_tables='FORCE';
|
||||||
@ -15,12 +20,16 @@ set global innodb_encrypt_tables='FORCE';
|
|||||||
show create table t1;
|
show create table t1;
|
||||||
show create table t2;
|
show create table t2;
|
||||||
show create table t3;
|
show create table t3;
|
||||||
|
show create table t4;
|
||||||
|
|
||||||
--replace_regex /#sql-[0-9a-f_]*/#sql-temporary/
|
--replace_regex /#sql-[0-9a-f_]*/#sql-temporary/
|
||||||
--error ER_CANT_CREATE_TABLE
|
--error ER_CANT_CREATE_TABLE
|
||||||
alter table t1 encrypted=no;
|
alter table t1 encrypted=no;
|
||||||
alter table t2 encrypted=yes;
|
alter table t2 encrypted=yes;
|
||||||
alter table t3 encrypted=default;
|
alter table t3 encrypted=default;
|
||||||
|
--replace_regex /#sql-[0-9a-f_]*/#sql-temporary/
|
||||||
|
--error ER_CANT_CREATE_TABLE
|
||||||
|
alter table t4 encrypted=no;
|
||||||
|
|
||||||
show create table t1;
|
show create table t1;
|
||||||
show create table t2;
|
show create table t2;
|
||||||
@ -29,3 +38,4 @@ show create table t3;
|
|||||||
drop table t1;
|
drop table t1;
|
||||||
drop table t2;
|
drop table t2;
|
||||||
drop table t3;
|
drop table t3;
|
||||||
|
drop table t4;
|
||||||
|
@ -267,7 +267,7 @@ ha_innobase::check_if_supported_inplace_alter(
|
|||||||
/* Change on engine specific table options require rebuild of the
|
/* Change on engine specific table options require rebuild of the
|
||||||
table */
|
table */
|
||||||
if (ha_alter_info->handler_flags
|
if (ha_alter_info->handler_flags
|
||||||
== Alter_inplace_info::CHANGE_CREATE_OPTION) {
|
& Alter_inplace_info::CHANGE_CREATE_OPTION) {
|
||||||
ha_table_option_struct *new_options= ha_alter_info->create_info->option_struct;
|
ha_table_option_struct *new_options= ha_alter_info->create_info->option_struct;
|
||||||
ha_table_option_struct *old_options= table->s->option_struct;
|
ha_table_option_struct *old_options= table->s->option_struct;
|
||||||
|
|
||||||
|
@ -271,7 +271,7 @@ ha_innobase::check_if_supported_inplace_alter(
|
|||||||
/* Change on engine specific table options require rebuild of the
|
/* Change on engine specific table options require rebuild of the
|
||||||
table */
|
table */
|
||||||
if (ha_alter_info->handler_flags
|
if (ha_alter_info->handler_flags
|
||||||
== Alter_inplace_info::CHANGE_CREATE_OPTION) {
|
& Alter_inplace_info::CHANGE_CREATE_OPTION) {
|
||||||
ha_table_option_struct *new_options= ha_alter_info->create_info->option_struct;
|
ha_table_option_struct *new_options= ha_alter_info->create_info->option_struct;
|
||||||
ha_table_option_struct *old_options= table->s->option_struct;
|
ha_table_option_struct *old_options= table->s->option_struct;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user