MDEV-22627 fixup: Cover also ALTER TABLE...ALGORITHM=INPLACE

This commit is contained in:
Marko Mäkelä 2021-10-20 22:16:23 +03:00
parent 69b3de830d
commit 05c3dced86
3 changed files with 19 additions and 0 deletions

View file

@ -56,4 +56,12 @@ DROP TABLE IF EXISTS t;
SET GLOBAL innodb_compression_level=1;
CREATE TABLE t(c INT) ENGINE=InnoDB page_compressed=1;
DROP TABLE IF EXISTS t;
SET GLOBAL innodb_compression_level=1;
CREATE TABLE t(a INT)ENGINE=InnoDB ROW_FORMAT=DYNAMIC page_compressed=1;
SET GLOBAL innodb_compression_level=0;
ALTER TABLE t FORCE, ROW_FORMAT=DEFAULT, ALGORITHM=INPLACE;
ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'PAGE_COMPRESSED'
ALTER TABLE t FORCE, ROW_FORMAT=DEFAULT, ALGORITHM=COPY;
ERROR HY000: Can't create table `test`.`t` (errno: 140 "Wrong create options")
DROP TABLE t;
SET GLOBAL innodb_compression_level=@save_level;

View file

@ -59,4 +59,13 @@ SET GLOBAL innodb_compression_level=1;
CREATE TABLE t(c INT) ENGINE=InnoDB page_compressed=1;
DROP TABLE IF EXISTS t;
--enable_warnings
SET GLOBAL innodb_compression_level=1;
CREATE TABLE t(a INT)ENGINE=InnoDB ROW_FORMAT=DYNAMIC page_compressed=1;
SET GLOBAL innodb_compression_level=0;
--error ER_ILLEGAL_HA_CREATE_OPTION
ALTER TABLE t FORCE, ROW_FORMAT=DEFAULT, ALGORITHM=INPLACE;
--error ER_CANT_CREATE_TABLE
ALTER TABLE t FORCE, ROW_FORMAT=DEFAULT, ALGORITHM=COPY;
DROP TABLE t;
SET GLOBAL innodb_compression_level=@save_level;

View file

@ -5584,6 +5584,8 @@ check_if_ok_to_rename:
}
if (!info.innobase_table_flags()) {
my_error(ER_ILLEGAL_HA_CREATE_OPTION, MYF(0),
table_type(), "PAGE_COMPRESSED");
goto err_exit_no_heap;
}