# # NULL attribute and DEFAULT NULL in columns # # Usage: # let $col_definition = ; # let $col_default = ; # --source col_null.inc # # We will add NULL at the end of $col; # # Also, if $col_default is defined, # we will create a table with 3 columns (one with DEFAULT NULL, # one with DEFAULT $col_default, and one without any default) # --disable_warnings DROP TABLE IF EXISTS t1; --enable_warnings --let $create_definition = c $col_definition NULL --source create_table.inc SHOW COLUMNS IN t1; if ($mysql_errname) { --source unexpected_result.inc } if (!$mysql_errname) { INSERT INTO t1 (c) VALUES (NULL); if ($mysql_errname) { --let $functionality = NULLable columns --source unexpected_result.inc } SELECT COUNT(c), COUNT(*) FROM t1; DROP TABLE t1; } if ($col_default != '') { let $create_definition = c $col_definition NULL, c1 $col_definition NULL DEFAULT NULL, c2 $col_definition NULL DEFAULT $col_default ; --source create_table.inc if ($mysql_errname) { --source unexpected_result.inc } if (!$mysql_errname) { SHOW COLUMNS IN t1; INSERT INTO t1 (c) VALUES (NULL); SELECT COUNT(c2), COUNT(c1), COUNT(c), COUNT(*) FROM t1; DROP TABLE t1; } } # We don't want to preserve it let $col_default = ;