diff --git a/mysql-test/main/alter_table.result b/mysql-test/main/alter_table.result index c033ae26dad..0dda2d8b5b4 100644 --- a/mysql-test/main/alter_table.result +++ b/mysql-test/main/alter_table.result @@ -3131,6 +3131,42 @@ alter table t1 drop constraint t1_fk_t2_id, drop t2_id, drop t2_id; ERROR 42000: Can't DROP COLUMN `t2_id`; check that it exists drop table t1, t2; # +# MDEV-29001 DROP DEFAULT makes SHOW CREATE non-idempotent +# +SET @save_sql_mode=@@sql_mode; +SET sql_mode=strict_all_tables; +create table t1 ( +a int, +b int default 0, +c int not null, +d int not null default 1); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` int(11) DEFAULT 0, + `c` int(11) NOT NULL, + `d` int(11) NOT NULL DEFAULT 1 +) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +alter table t1 +alter a drop default, +alter b drop default, +alter c drop default, +alter d drop default; +SHOW create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` int(11) DEFAULT NULL, + `c` int(11) NOT NULL, + `d` int(11) NOT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +insert t1 values (default, default, default, default); +ERROR HY000: Field 'c' doesn't have a default value +insert t1 values (default, default, 0, 0); +drop table t1; +set sql_mode= @save_sql_mode; +# # End of 10.6 tests # # diff --git a/mysql-test/main/alter_table.test b/mysql-test/main/alter_table.test index dd496352deb..5165d034da8 100644 --- a/mysql-test/main/alter_table.test +++ b/mysql-test/main/alter_table.test @@ -2417,6 +2417,30 @@ create table t1(id int primary key, t2_id int, constraint t1_fk_t2_id foreign ke alter table t1 drop constraint t1_fk_t2_id, drop t2_id, drop t2_id; drop table t1, t2; +--echo # +--echo # MDEV-29001 DROP DEFAULT makes SHOW CREATE non-idempotent +--echo # +SET @save_sql_mode=@@sql_mode; +SET sql_mode=strict_all_tables; +create table t1 ( + a int, + b int default 0, + c int not null, + d int not null default 1); +show create table t1; +alter table t1 + alter a drop default, + alter b drop default, + alter c drop default, + alter d drop default; +SHOW create table t1; +--error ER_NO_DEFAULT_FOR_FIELD +insert t1 values (default, default, default, default); +insert t1 values (default, default, 0, 0); + +drop table t1; +set sql_mode= @save_sql_mode; + --echo # --echo # End of 10.6 tests --echo # diff --git a/mysql-test/main/column_compression_parts.result b/mysql-test/main/column_compression_parts.result index e960ff71927..57f65957591 100644 --- a/mysql-test/main/column_compression_parts.result +++ b/mysql-test/main/column_compression_parts.result @@ -127,7 +127,6 @@ ALTER TABLE t1 MODIFY COLUMN a VARCHAR(1000); ALTER TABLE t1 ALTER COLUMN a DROP DEFAULT; INSERT INTO t1 VALUES (REPEAT('b',100),11); INSERT INTO t1 VALUES (default,10); -ERROR HY000: Field 'a' doesn't have a default value ALTER TABLE t1 MODIFY COLUMN a VARCHAR(1000) COMPRESSED; SHOW CREATE TABLE t1; Table Create Table @@ -139,6 +138,7 @@ t1 CREATE TABLE `t1` ( (PARTITION `p0` VALUES LESS THAN (100,'sss') ENGINE = MyISAM) SELECT * from t1 ORDER BY id; a id +NULL 10 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 11 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 23 zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz 24 diff --git a/mysql-test/main/column_compression_parts.test b/mysql-test/main/column_compression_parts.test index 4c77a7308f7..607603ffbde 100644 --- a/mysql-test/main/column_compression_parts.test +++ b/mysql-test/main/column_compression_parts.test @@ -72,7 +72,6 @@ ALTER TABLE t1 ALTER COLUMN a DROP DEFAULT; ALTER TABLE t1 MODIFY COLUMN a VARCHAR(1000); ALTER TABLE t1 ALTER COLUMN a DROP DEFAULT; INSERT INTO t1 VALUES (REPEAT('b',100),11); ---error ER_NO_DEFAULT_FOR_FIELD INSERT INTO t1 VALUES (default,10); ALTER TABLE t1 MODIFY COLUMN a VARCHAR(1000) COMPRESSED; diff --git a/mysql-test/suite/engines/funcs/r/ta_set_drop_default.result b/mysql-test/suite/engines/funcs/r/ta_set_drop_default.result index 1647669eb40..dc4597e8b44 100644 --- a/mysql-test/suite/engines/funcs/r/ta_set_drop_default.result +++ b/mysql-test/suite/engines/funcs/r/ta_set_drop_default.result @@ -24,8 +24,6 @@ t1 CREATE TABLE `t1` ( ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ALTER TABLE t1 ALTER c2 DROP DEFAULT; INSERT IGNORE INTO t1(c1) VALUES(2); -Warnings: -Warning 1364 Field 'c2' doesn't have a default value SELECT * FROM t1 ORDER BY c1; c1 c2 1 10 @@ -34,7 +32,7 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` tinyint(4) NOT NULL, - `c2` tinyint(4), + `c2` tinyint(4) DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci DROP TABLE t1; @@ -65,8 +63,6 @@ t1 CREATE TABLE `t1` ( ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ALTER TABLE t1 ALTER c2 DROP DEFAULT; INSERT IGNORE INTO t1(c1) VALUES(2); -Warnings: -Warning 1364 Field 'c2' doesn't have a default value SELECT * FROM t1 ORDER BY c1; c1 c2 1 10 @@ -75,7 +71,7 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` smallint(6) NOT NULL, - `c2` smallint(6), + `c2` smallint(6) DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci DROP TABLE t1; @@ -106,8 +102,6 @@ t1 CREATE TABLE `t1` ( ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ALTER TABLE t1 ALTER c2 DROP DEFAULT; INSERT IGNORE INTO t1(c1) VALUES(2); -Warnings: -Warning 1364 Field 'c2' doesn't have a default value SELECT * FROM t1 ORDER BY c1; c1 c2 1 10 @@ -116,7 +110,7 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` mediumint(9) NOT NULL, - `c2` mediumint(9), + `c2` mediumint(9) DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci DROP TABLE t1; @@ -147,8 +141,6 @@ t1 CREATE TABLE `t1` ( ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ALTER TABLE t1 ALTER c2 DROP DEFAULT; INSERT IGNORE INTO t1(c1) VALUES(2); -Warnings: -Warning 1364 Field 'c2' doesn't have a default value SELECT * FROM t1 ORDER BY c1; c1 c2 1 10 @@ -157,7 +149,7 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL, - `c2` int(11), + `c2` int(11) DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci DROP TABLE t1; @@ -188,8 +180,6 @@ t1 CREATE TABLE `t1` ( ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ALTER TABLE t1 ALTER c2 DROP DEFAULT; INSERT IGNORE INTO t1(c1) VALUES(2); -Warnings: -Warning 1364 Field 'c2' doesn't have a default value SELECT * FROM t1 ORDER BY c1; c1 c2 1 10 @@ -198,7 +188,7 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL, - `c2` int(11), + `c2` int(11) DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci DROP TABLE t1; @@ -229,8 +219,6 @@ t1 CREATE TABLE `t1` ( ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ALTER TABLE t1 ALTER c2 DROP DEFAULT; INSERT IGNORE INTO t1(c1) VALUES(2); -Warnings: -Warning 1364 Field 'c2' doesn't have a default value SELECT * FROM t1 ORDER BY c1; c1 c2 1 10 @@ -239,7 +227,7 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` bigint(20) NOT NULL, - `c2` bigint(20), + `c2` bigint(20) DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci DROP TABLE t1; @@ -270,8 +258,6 @@ t1 CREATE TABLE `t1` ( ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ALTER TABLE t1 ALTER c2 DROP DEFAULT; INSERT IGNORE INTO t1(c1) VALUES(2); -Warnings: -Warning 1364 Field 'c2' doesn't have a default value SELECT * FROM t1 ORDER BY c1; c1 c2 1 10 @@ -280,7 +266,7 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` double NOT NULL, - `c2` double, + `c2` double DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci DROP TABLE t1; @@ -311,8 +297,6 @@ t1 CREATE TABLE `t1` ( ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ALTER TABLE t1 ALTER c2 DROP DEFAULT; INSERT IGNORE INTO t1(c1) VALUES(2); -Warnings: -Warning 1364 Field 'c2' doesn't have a default value SELECT * FROM t1 ORDER BY c1; c1 c2 1 10 @@ -321,7 +305,7 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` double NOT NULL, - `c2` double, + `c2` double DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci DROP TABLE t1; @@ -352,8 +336,6 @@ t1 CREATE TABLE `t1` ( ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ALTER TABLE t1 ALTER c2 DROP DEFAULT; INSERT IGNORE INTO t1(c1) VALUES(2); -Warnings: -Warning 1364 Field 'c2' doesn't have a default value SELECT * FROM t1 ORDER BY c1; c1 c2 1 10 @@ -362,7 +344,7 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` float NOT NULL, - `c2` float, + `c2` float DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci DROP TABLE t1; @@ -393,8 +375,6 @@ t1 CREATE TABLE `t1` ( ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ALTER TABLE t1 ALTER c2 DROP DEFAULT; INSERT IGNORE INTO t1(c1) VALUES(2); -Warnings: -Warning 1364 Field 'c2' doesn't have a default value SELECT * FROM t1 ORDER BY c1; c1 c2 1 10 @@ -403,7 +383,7 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` decimal(10,0) NOT NULL, - `c2` decimal(10,0), + `c2` decimal(10,0) DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci DROP TABLE t1; @@ -434,8 +414,6 @@ t1 CREATE TABLE `t1` ( ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ALTER TABLE t1 ALTER c2 DROP DEFAULT; INSERT IGNORE INTO t1(c1) VALUES(2); -Warnings: -Warning 1364 Field 'c2' doesn't have a default value SELECT * FROM t1 ORDER BY c1; c1 c2 1 10 @@ -444,7 +422,7 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` decimal(10,0) NOT NULL, - `c2` decimal(10,0), + `c2` decimal(10,0) DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci DROP TABLE t1; @@ -475,8 +453,6 @@ t1 CREATE TABLE `t1` ( ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ALTER TABLE t1 ALTER COLUMN c2 DROP DEFAULT; INSERT IGNORE INTO t1(c1) VALUES(2); -Warnings: -Warning 1364 Field 'c2' doesn't have a default value SELECT * FROM t1 ORDER BY c1; c1 c2 1 10 @@ -485,7 +461,7 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` tinyint(4) NOT NULL, - `c2` tinyint(4), + `c2` tinyint(4) DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci DROP TABLE t1; @@ -516,8 +492,6 @@ t1 CREATE TABLE `t1` ( ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ALTER TABLE t1 ALTER COLUMN c2 DROP DEFAULT; INSERT IGNORE INTO t1(c1) VALUES(2); -Warnings: -Warning 1364 Field 'c2' doesn't have a default value SELECT * FROM t1 ORDER BY c1; c1 c2 1 10 @@ -526,7 +500,7 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` smallint(6) NOT NULL, - `c2` smallint(6), + `c2` smallint(6) DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci DROP TABLE t1; @@ -557,8 +531,6 @@ t1 CREATE TABLE `t1` ( ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ALTER TABLE t1 ALTER COLUMN c2 DROP DEFAULT; INSERT IGNORE INTO t1(c1) VALUES(2); -Warnings: -Warning 1364 Field 'c2' doesn't have a default value SELECT * FROM t1 ORDER BY c1; c1 c2 1 10 @@ -567,7 +539,7 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` mediumint(9) NOT NULL, - `c2` mediumint(9), + `c2` mediumint(9) DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci DROP TABLE t1; @@ -598,8 +570,6 @@ t1 CREATE TABLE `t1` ( ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ALTER TABLE t1 ALTER COLUMN c2 DROP DEFAULT; INSERT IGNORE INTO t1(c1) VALUES(2); -Warnings: -Warning 1364 Field 'c2' doesn't have a default value SELECT * FROM t1 ORDER BY c1; c1 c2 1 10 @@ -608,7 +578,7 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL, - `c2` int(11), + `c2` int(11) DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci DROP TABLE t1; @@ -639,8 +609,6 @@ t1 CREATE TABLE `t1` ( ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ALTER TABLE t1 ALTER COLUMN c2 DROP DEFAULT; INSERT IGNORE INTO t1(c1) VALUES(2); -Warnings: -Warning 1364 Field 'c2' doesn't have a default value SELECT * FROM t1 ORDER BY c1; c1 c2 1 10 @@ -649,7 +617,7 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL, - `c2` int(11), + `c2` int(11) DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci DROP TABLE t1; @@ -680,8 +648,6 @@ t1 CREATE TABLE `t1` ( ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ALTER TABLE t1 ALTER COLUMN c2 DROP DEFAULT; INSERT IGNORE INTO t1(c1) VALUES(2); -Warnings: -Warning 1364 Field 'c2' doesn't have a default value SELECT * FROM t1 ORDER BY c1; c1 c2 1 10 @@ -690,7 +656,7 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` bigint(20) NOT NULL, - `c2` bigint(20), + `c2` bigint(20) DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci DROP TABLE t1; @@ -721,8 +687,6 @@ t1 CREATE TABLE `t1` ( ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ALTER TABLE t1 ALTER COLUMN c2 DROP DEFAULT; INSERT IGNORE INTO t1(c1) VALUES(2); -Warnings: -Warning 1364 Field 'c2' doesn't have a default value SELECT * FROM t1 ORDER BY c1; c1 c2 1 10 @@ -731,7 +695,7 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` double NOT NULL, - `c2` double, + `c2` double DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci DROP TABLE t1; @@ -762,8 +726,6 @@ t1 CREATE TABLE `t1` ( ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ALTER TABLE t1 ALTER COLUMN c2 DROP DEFAULT; INSERT IGNORE INTO t1(c1) VALUES(2); -Warnings: -Warning 1364 Field 'c2' doesn't have a default value SELECT * FROM t1 ORDER BY c1; c1 c2 1 10 @@ -772,7 +734,7 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` double NOT NULL, - `c2` double, + `c2` double DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci DROP TABLE t1; @@ -803,8 +765,6 @@ t1 CREATE TABLE `t1` ( ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ALTER TABLE t1 ALTER COLUMN c2 DROP DEFAULT; INSERT IGNORE INTO t1(c1) VALUES(2); -Warnings: -Warning 1364 Field 'c2' doesn't have a default value SELECT * FROM t1 ORDER BY c1; c1 c2 1 10 @@ -813,7 +773,7 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` float NOT NULL, - `c2` float, + `c2` float DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci DROP TABLE t1; @@ -844,8 +804,6 @@ t1 CREATE TABLE `t1` ( ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ALTER TABLE t1 ALTER COLUMN c2 DROP DEFAULT; INSERT IGNORE INTO t1(c1) VALUES(2); -Warnings: -Warning 1364 Field 'c2' doesn't have a default value SELECT * FROM t1 ORDER BY c1; c1 c2 1 10 @@ -854,7 +812,7 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` decimal(10,0) NOT NULL, - `c2` decimal(10,0), + `c2` decimal(10,0) DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci DROP TABLE t1; @@ -885,8 +843,6 @@ t1 CREATE TABLE `t1` ( ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ALTER TABLE t1 ALTER COLUMN c2 DROP DEFAULT; INSERT IGNORE INTO t1(c1) VALUES(2); -Warnings: -Warning 1364 Field 'c2' doesn't have a default value SELECT * FROM t1 ORDER BY c1; c1 c2 1 10 @@ -895,7 +851,7 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` decimal(10,0) NOT NULL, - `c2` decimal(10,0), + `c2` decimal(10,0) DEFAULT NULL, PRIMARY KEY (`c1`) ) ENGINE=ENGINE DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci DROP TABLE t1; diff --git a/mysql-test/suite/innodb/r/innodb-alter.result b/mysql-test/suite/innodb/r/innodb-alter.result index edeebac5f94..baa8ec04bb5 100644 --- a/mysql-test/suite/innodb/r/innodb-alter.result +++ b/mysql-test/suite/innodb/r/innodb-alter.result @@ -52,7 +52,7 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL, - `c2` int(11), + `c2` int(11) DEFAULT NULL, `ct` text DEFAULT NULL, PRIMARY KEY (`c1`), KEY `c2` (`c2`) diff --git a/mysql-test/suite/innodb/r/innodb-wl5980-alter.result b/mysql-test/suite/innodb/r/innodb-wl5980-alter.result index 4d6ac474da8..9deda1473cc 100644 --- a/mysql-test/suite/innodb/r/innodb-wl5980-alter.result +++ b/mysql-test/suite/innodb/r/innodb-wl5980-alter.result @@ -59,7 +59,7 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL, - `c2` int(11), + `c2` int(11) DEFAULT NULL, `ct` text DEFAULT NULL, PRIMARY KEY (`c1`), KEY `c2` (`c2`) diff --git a/sql/sql_table.cc b/sql/sql_table.cc index c13d49150fb..505926b67ce 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -8658,7 +8658,8 @@ mysql_prepare_alter_table(THD *thd, TABLE *table, } else { - if ((def->default_value= alter->default_value)) + if ((def->default_value= alter->default_value) || + !(def->flags & NOT_NULL_FLAG)) def->flags&= ~NO_DEFAULT_VALUE_FLAG; else def->flags|= NO_DEFAULT_VALUE_FLAG; diff --git a/storage/rocksdb/mysql-test/rocksdb/r/alter_table.result b/storage/rocksdb/mysql-test/rocksdb/r/alter_table.result index 4ba9834a279..e2ad074f46e 100644 --- a/storage/rocksdb/mysql-test/rocksdb/r/alter_table.result +++ b/storage/rocksdb/mysql-test/rocksdb/r/alter_table.result @@ -26,7 +26,7 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `pk` int(11) NOT NULL, - `a` int(11), + `a` int(11) DEFAULT NULL, `c` char(8) DEFAULT NULL, `b` int(11) DEFAULT NULL, PRIMARY KEY (`pk`) @@ -37,7 +37,7 @@ Table Create Table t1 CREATE TABLE `t1` ( `b1` char(8) DEFAULT NULL, `pk` int(11) NOT NULL, - `a` int(11), + `a` int(11) DEFAULT NULL, `c` char(8) DEFAULT NULL, PRIMARY KEY (`pk`) ) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci @@ -46,7 +46,7 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `pk` int(11) NOT NULL, - `a` int(11), + `a` int(11) DEFAULT NULL, `c` char(8) DEFAULT NULL, `b` int(11) DEFAULT NULL, PRIMARY KEY (`pk`) @@ -56,7 +56,7 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `pk` int(11) NOT NULL, - `a` int(11), + `a` int(11) DEFAULT NULL, `c` char(8) DEFAULT NULL, `b` char(8) DEFAULT NULL, PRIMARY KEY (`pk`) @@ -66,7 +66,7 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `pk` int(11) NOT NULL, - `a` int(11), + `a` int(11) DEFAULT NULL, `c` char(8) DEFAULT NULL, `b` int(11) DEFAULT NULL, PRIMARY KEY (`pk`) @@ -77,7 +77,7 @@ Table Create Table t1 CREATE TABLE `t1` ( `b` char(8) DEFAULT NULL, `pk` int(11) NOT NULL, - `a` int(11), + `a` int(11) DEFAULT NULL, `c` char(8) DEFAULT NULL, PRIMARY KEY (`pk`) ) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci @@ -86,7 +86,7 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `pk` int(11) NOT NULL, - `a` int(11), + `a` int(11) DEFAULT NULL, `b` int(11) DEFAULT NULL, `c` char(8) DEFAULT NULL, PRIMARY KEY (`pk`) @@ -96,7 +96,7 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `pk` int(11) NOT NULL, - `a` int(11), + `a` int(11) DEFAULT NULL, `c` char(8) DEFAULT NULL, PRIMARY KEY (`pk`) ) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci @@ -107,7 +107,7 @@ SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `pk` int(11) NOT NULL, - `a` int(11), + `a` int(11) DEFAULT NULL, `c` char(8) DEFAULT NULL, PRIMARY KEY (`pk`) ) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci