summaryrefslogtreecommitdiff
path: root/storage/tokudb/mysql-test/tokudb/t/change_column_int_key.py
diff options
context:
space:
mode:
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.py38
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())