#!/usr/bin/perl
print <<EOT;
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
create table t1 (i int(11));
EOT

for $u ("","unsigned","zerofill","unsigned zerofill","zerofill unsigned") {
for $n("","null", "not null") {
for $c("","comment 'x'" ) {
for $k("","unique","unique key", ($n!~/^null/ ? ("key", "primary key"):())) {
for $d("","default 1", ($n!~/not/ && $k!~/^key|pri/ ? "default null":())) {
for $a( ($n=~/not/ && $k && $d!~/1/) ? ("", "auto_increment") :("")  ) {
print "drop table t1; create table t1 (i int(11) $u $n $c $d $k $a);desc t1; show create table t1;\n";
print "drop table t1; create table t1 (i int(11) $u $k $n $c $d $a);desc t1; show create table t1;\n";
print "drop table t1; create table t1 (i int(11) $u $n $c $d $k $a, j int(11) $u $n $c $d);desc t1; show create table t1;\n";
if ($a && $k=~/unique$/ && $n=~/not/) {
    print "drop table t1; create table t1 (i int(11) $u serial default value $c $d);desc t1; show create table t1;\n";
    print "drop table t1; create table t1 (i serial $c $d);desc t1; show create table t1;\n";
}
}}}}}}

for $u ("","unsigned","zerofill","unsigned zerofill","zerofill unsigned") {
for $n("","null", "not null") {
for $c("","comment 'x'" ) {
for $k("","unique","unique key", ($n!~/^null/ ? ("key", "primary key"):())) {
for $d("","default 1", ($n!~/not/ && $k!~/^key|pri/ ? "default null":())) {
for $a( ($n=~/not/ && $k && $d!~/1/) ? ("", "auto_increment") :("")  ) {
print "drop table t1; create table t1 (i int(11)); alter table t1 modify i int(11) $u $n $c $d $k $a;desc t1; show create table t1;\n";
print "drop table t1; create table t1 (i int(11), j int(11)); alter table t1 modify i int(11) $u $k $n $c $d $a, modify j int(11) $u $n $c $d;desc t1; show create table t1;\n";
}}}}}}


