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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
#
# NULL attribute and DEFAULT NULL in columns
#
# Usage:
# let $col_definition = <column type (and possibly more options)>;
# let $col_default = <default non-null value for a column>;
# --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 = ;
|