summaryrefslogtreecommitdiff
path: root/storage/tokudb/mysql-test/tokudb/t/change_column_int_key.py
blob: 4b06df54607d181e6106b4eec4014c89b6f3499e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/usr/bin/env python2

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 "source include/have_tokudb.inc;"
    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())