| Server IP : 88.99.149.37 / Your IP : 216.73.216.141 Web Server : nginx/1.31.2 System : Linux server-88-99-149-37 6.12.0-124.56.5.el10_1.x86_64 #1 SMP PREEMPT_DYNAMIC Fri May 15 06:12:08 EDT 2026 x86_64 User : muralimurth ( 1015) PHP Version : 8.4.23 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/local/mysql/mysql-test/suite/storage_engine/ |
Upload File : |
#
# NOT NULL attribute in columns
#
# Usage:
# let $col_definition = <column type (and possibly more options)>;
# let $col_default = <default non-null value for a column>;
# --source col_not_null.inc
#
# We will add NOT NULL at the end of $col;
#
# Also, if $col_default is defined,
# we will create a table with 2 columns
# (one with DEFAULT $col_default, and one without any default),
# and will also attempt to add a column with DEFAULT NULL.
#
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
--let $create_definition = c $col_definition NOT NULL
--source create_table.inc
if ($mysql_errname)
{
--source unexpected_result.inc
}
if (!$mysql_errname)
{
SHOW COLUMNS IN t1;
--let $error_codes = ER_BAD_NULL_ERROR
INSERT INTO t1 (c) VALUES (NULL);
--source check_errors.inc
DROP TABLE t1;
}
if ($col_default != '')
{
let $create_definition =
c $col_definition NOT NULL,
c2 $col_definition NOT NULL DEFAULT $col_default
;
--source create_table.inc
if ($mysql_errname)
{
--source unexpected_result.inc
}
if (!$mysql_errname)
{
SHOW COLUMNS IN t1;
--let $error_codes = ER_INVALID_DEFAULT
--let $alter_definition = ADD COLUMN err $col_definition NOT NULL DEFAULT NULL
--source alter_table.inc
if ($mysql_errname != ER_INVALID_DEFAULT)
{
--let $functionality = ALTER or DEFAULT
--source unexpected_result.inc
}
--let $error_codes = ER_BAD_NULL_ERROR
INSERT INTO t1 (c) VALUES (NULL);
--source check_errors.inc
if ($mysql_errname != ER_BAD_NULL_ERROR)
{
--let $functionality = NOT NULL columns
--source unexpected_result.inc
}
# HEX should be universal for all column types
SELECT HEX(c), HEX(c2) FROM t1;
--let $error_codes = ER_BAD_NULL_ERROR
INSERT INTO t1 (c2) VALUES (NULL);
--source check_errors.inc
--eval INSERT INTO t1 (c) VALUES ($col_default)
if ($mysql_errname)
{
--let $functionality = DEFAULT
--source unexpected_result.inc
}
SELECT COUNT(c), COUNT(c2) FROM t1;
DROP TABLE t1;
}
}
# We don't want to preserve it
let $col_default = ;