summaryrefslogtreecommitdiff
path: root/mysql-test/suite/encryption/t/innodb-alter-option.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/suite/encryption/t/innodb-alter-option.test')
-rw-r--r--mysql-test/suite/encryption/t/innodb-alter-option.test136
1 files changed, 136 insertions, 0 deletions
diff --git a/mysql-test/suite/encryption/t/innodb-alter-option.test b/mysql-test/suite/encryption/t/innodb-alter-option.test
new file mode 100644
index 00000000000..80bb185289f
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-alter-option.test
@@ -0,0 +1,136 @@
+--source include/have_innodb.inc
+--source include/have_file_key_management_plugin.inc
+
+--disable_warnings
+SET GLOBAL innodb_file_format='Barracuda';
+--enable_warnings
+
+CREATE TABLE t1 (pk INT PRIMARY KEY AUTO_INCREMENT,
+c VARCHAR(256), coordinate POINT NOT NULL) ENCRYPTED=YES ENGINE=INNODB;
+ALTER TABLE t1 FORCE, ALGORITHM=COPY;
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 FORCE, ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 ADD INDEX b(coordinate), FORCE, ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 DROP INDEX b;
+ALTER TABLE t1 ADD INDEX b(coordinate), FORCE, ALGORITHM=COPY;
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 ALGORITHM=COPY;
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 DROP INDEX b;
+ALTER TABLE t1 ADD INDEX b(coordinate), ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 DROP INDEX b;
+ALTER TABLE t1 ADD INDEX b(coordinate), ALGORITHM=COPY;
+SHOW CREATE TABLE t1;
+#
+# ENCRYPTED
+#
+ALTER TABLE t1 ENCRYPTED=NO, FORCE, ALGORITHM=COPY;
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 ENCRYPTED=YES, FORCE, ALGORITHM=COPY;
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 ENCRYPTED=DEFAULT, FORCE, ALGORITHM=COPY;
+SHOW CREATE TABLE t1;
+--error ER_ALTER_OPERATION_NOT_SUPPORTED
+ALTER TABLE t1 ENCRYPTED=YES, FORCE, ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1;
+--error ER_ALTER_OPERATION_NOT_SUPPORTED
+ALTER TABLE t1 ENCRYPTED=NO, FORCE, ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 ENCRYPTED=DEFAULT, FORCE, ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 ENCRYPTED=YES, ALGORITHM=COPY;
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 ENCRYPTED=DEFAULT, ALGORITHM=COPY;
+SHOW CREATE TABLE t1;
+--error ER_ALTER_OPERATION_NOT_SUPPORTED
+ALTER TABLE t1 ENCRYPTED=YES, ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1;
+--error ER_ALTER_OPERATION_NOT_SUPPORTED
+ALTER TABLE t1 ENCRYPTED=NO, ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 ENCRYPTED=DEFAULT, ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1;
+#
+# ENCRYPTION_KEY_ID
+#
+ALTER TABLE t1 ENCRYPTED=YES, ALGORITHM=COPY;
+ALTER TABLE t1 ENCRYPTION_KEY_ID=4, FORCE, ALGORITHM=COPY;
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 ENCRYPTION_KEY_ID=DEFAULT, FORCE, ALGORITHM=COPY;
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 ENCRYPTION_KEY_ID=4, ALGORITHM=COPY;
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 ENCRYPTION_KEY_ID=DEFAULT, ALGORITHM=COPY;
+SHOW CREATE TABLE t1;
+--error ER_ALTER_OPERATION_NOT_SUPPORTED
+ALTER TABLE t1 ENCRYPTION_KEY_ID=4, FORCE, ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 ENCRYPTION_KEY_ID=DEFAULT, FORCE, ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1;
+--error ER_ALTER_OPERATION_NOT_SUPPORTED
+ALTER TABLE t1 ENCRYPTION_KEY_ID=4, ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 ENCRYPTION_KEY_ID=DEFAULT, ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 ENCRYPTED=NO, ALGORITHM=COPY;
+#
+# ENCRYPTION KEY ID ignored
+#
+ALTER TABLE t1 ENCRYPTION_KEY_ID=4, FORCE, ALGORITHM=COPY;
+ALTER TABLE t1 ENCRYPTION_KEY_ID=DEFAULT, FORCE, ALGORITHM=COPY;
+--error ER_ALTER_OPERATION_NOT_SUPPORTED
+ALTER TABLE t1 ENCRYPTION_KEY_ID=4, FORCE, ALGORITHM=INPLACE;
+ALTER TABLE t1 ENCRYPTION_KEY_ID=DEFAULT, FORCE, ALGORITHM=INPLACE;
+#
+# PAGE_COMPRESSED
+#
+ALTER TABLE t1 PAGE_COMPRESSED=1, ENCRYPTED=DEFAULT, ENCRYPTION_KEY_ID=DEFAULT, FORCE, ALGORITHM=COPY;
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 PAGE_COMPRESSED=DEFAULT, FORCE, ALGORITHM=COPY;
+SHOW CREATE TABLE t1;
+--error ER_ALTER_OPERATION_NOT_SUPPORTED
+ALTER TABLE t1 PAGE_COMPRESSED=1, ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 PAGE_COMPRESSED=DEFAULT, ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1;
+--error ER_ALTER_OPERATION_NOT_SUPPORTED
+ALTER TABLE t1 PAGE_COMPRESSED=1, FORCE, ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 PAGE_COMPRESSED=DEFAULT, FORCE, ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1;
+#
+# PAGE_COMPRESSION_LEVEL
+#
+ALTER TABLE t1 PAGE_COMPRESSED=1, FORCE, ALGORITHM=COPY;
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 PAGE_COMPRESSION_LEVEL=9, FORCE, ALGORITHM=COPY;
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 PAGE_COMPRESSION_LEVEL=DEFAULT, FORCE, ALGORITHM=COPY;
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 PAGE_COMPRESSION_LEVEL=9, ALGORITHM=COPY;
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 PAGE_COMPRESSION_LEVEL=DEFAULT, ALGORITHM=COPY;
+SHOW CREATE TABLE t1;
+--error ER_ALTER_OPERATION_NOT_SUPPORTED
+ALTER TABLE t1 PAGE_COMPRESSION_LEVEL=9, FORCE, ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 PAGE_COMPRESSION_LEVEL=DEFAULT, FORCE, ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1;
+--error ER_ALTER_OPERATION_NOT_SUPPORTED
+ALTER TABLE t1 PAGE_COMPRESSION_LEVEL=9, ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 PAGE_COMPRESSION_LEVEL=DEFAULT, ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1;
+
+DROP TABLE t1;
+
+--disable_result_log
+--disable_warnings
+SET GLOBAL innodb_file_format=DEFAULT;
+--enable_warnings
+--enable_result_log