summaryrefslogtreecommitdiff
path: root/storage/tokudb/mysql-test/tokudb/t/change_column_bin_key.test
diff options
context:
space:
mode:
Diffstat (limited to 'storage/tokudb/mysql-test/tokudb/t/change_column_bin_key.test')
-rw-r--r--storage/tokudb/mysql-test/tokudb/t/change_column_bin_key.test54
1 files changed, 54 insertions, 0 deletions
diff --git a/storage/tokudb/mysql-test/tokudb/t/change_column_bin_key.test b/storage/tokudb/mysql-test/tokudb/t/change_column_bin_key.test
new file mode 100644
index 00000000000..c486f60b0a7
--- /dev/null
+++ b/storage/tokudb/mysql-test/tokudb/t/change_column_bin_key.test
@@ -0,0 +1,54 @@
+source include/have_tokudb.inc;
+# test that expansion of a binary field in a key is not supported
+
+--disable_warnings
+DROP TABLE IF EXISTS t;
+--enable_warnings
+
+SET SESSION TOKUDB_DISABLE_SLOW_ALTER=ON;
+SET SESSION DEFAULT_STORAGE_ENGINE='TokuDB';
+
+CREATE TABLE t (a BINARY(100), b BINARY(200), KEY(a), KEY(b));
+
+ALTER TABLE t CHANGE COLUMN a a BINARY(100);
+
+# no shrinkage and a is part of a key
+--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
+--error ER_UNSUPPORTED_EXTENSION
+ALTER TABLE t CHANGE COLUMN a a BINARY(1);
+
+# a is part of a key
+--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
+--error ER_UNSUPPORTED_EXTENSION
+ALTER TABLE t CHANGE COLUMN a a BINARY(255);
+
+# no type change to b
+ALTER TABLE t CHANGE COLUMN b b BINARY(200);
+
+# no shrinkage and b is part of a key
+--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
+--error ER_UNSUPPORTED_EXTENSION
+ALTER TABLE t CHANGE COLUMN b b BINARY(1);
+
+# b is part of a key
+--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
+--error ER_UNSUPPORTED_EXTENSION
+ALTER TABLE t CHANGE COLUMN b b BINARY(255);
+
+DROP TABLE t;
+
+CREATE TABLE t (a BINARY(1), b BINARY(2), KEY(a,b));
+
+# a is part of a key
+--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
+--error ER_UNSUPPORTED_EXTENSION
+ALTER TABLE t CHANGE COLUMN a a BINARY(3);
+
+# b is part of a key
+--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
+--error ER_UNSUPPORTED_EXTENSION
+ALTER TABLE t CHANGE COLUMN b b BINARY(3);
+
+DROP TABLE t;
+
+