diff options
Diffstat (limited to 'storage/tokudb/mysql-test/tokudb/t/change_column_int_key.py')
-rw-r--r-- | storage/tokudb/mysql-test/tokudb/t/change_column_int_key.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/storage/tokudb/mysql-test/tokudb/t/change_column_int_key.py b/storage/tokudb/mysql-test/tokudb/t/change_column_int_key.py new file mode 100644 index 00000000000..8b217b59ab1 --- /dev/null +++ b/storage/tokudb/mysql-test/tokudb/t/change_column_int_key.py @@ -0,0 +1,38 @@ +#!/usr/bin/env python + +import sys +def gen_test(types): + for a in range(len(types)): + for b in range(len(types)): + if a < b: + print + print "CREATE TABLE t (a %s, PRIMARY KEY(a));" % (types[a]) + print "--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/" + print "--error ER_UNSUPPORTED_EXTENSION" + print "ALTER TABLE t CHANGE COLUMN a a %s;" % (types[b]) + print "DROP TABLE t;" + + print "CREATE TABLE t (a %s, KEY(a));" % (types[a]) + print "--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/" + print "--error ER_UNSUPPORTED_EXTENSION" + print "ALTER TABLE t CHANGE COLUMN a a %s;" % (types[b]) + print "DROP TABLE t;" + + print "CREATE TABLE t (a %s, CLUSTERING KEY(a));" % (types[a]) + print "--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/" + print "--error ER_UNSUPPORTED_EXTENSION" + print "ALTER TABLE t CHANGE COLUMN a a %s;" % (types[b]) + print "DROP TABLE t;" + +def main(): + print "# this test is generated by change_int_key.py" + print "# ensure that changing an int column that is part of a key is not hot" + print "--disable_warnings" + print "DROP TABLE IF EXISTS t;" + print "--enable_warnings" + print "SET SESSION DEFAULT_STORAGE_ENGINE=\"TokuDB\";" + print "SET SESSION TOKUDB_DISABLE_SLOW_ALTER=1;" + gen_test([ "TINYINT", "SMALLINT", "MEDIUMINT", "INT", "BIGINT" ]) + gen_test([ "TINYINT UNSIGNED", "SMALLINT UNSIGNED", "MEDIUMINT UNSIGNED", "INT UNSIGNED", "BIGINT UNSIGNED" ]) + return 0 +sys.exit(main()) |