diff options
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.test | 54 |
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; + + |