From 6b20342651bb5207b6c125d2d11b664a1bebcc41 Mon Sep 17 00:00:00 2001 From: Monty Date: Tue, 18 Aug 2015 00:42:08 +0300 Subject: Ensure that fields declared with NOT NULL doesn't have DEFAULT values if not specified and if not timestamp or auto_increment In original code, sometimes one got an automatic DEFAULT value in some cases, in other cases not. For example: create table t1 (a int primary key) - No default create table t2 (a int, primary key(a)) - DEFAULT 0 create table t1 SELECT .... - Default for all fields, even if they where defined as NOT NULL ALTER TABLE ... MODIFY could sometimes add an unexpected DEFAULT value. The patch is quite big because we had some many test cases that used CREATE ... SELECT or CREATE ... (...PRIMARY KEY(xxx)) which doesn't have an automatic DEFAULT anymore. Other things: - Removed warnings from InnoDB when waiting from semaphore (got this when testing things with --big) --- mysql-test/r/ctype_utf16le.result | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'mysql-test/r/ctype_utf16le.result') diff --git a/mysql-test/r/ctype_utf16le.result b/mysql-test/r/ctype_utf16le.result index c980743ce94..f11d1986b26 100644 --- a/mysql-test/r/ctype_utf16le.result +++ b/mysql-test/r/ctype_utf16le.result @@ -102,8 +102,8 @@ RPAD(_utf16le X'2004',10,_utf16le X'2104') r; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( - `l` varchar(10) CHARACTER SET utf16le NOT NULL DEFAULT '', - `r` varchar(10) CHARACTER SET utf16le NOT NULL DEFAULT '' + `l` varchar(10) CHARACTER SET utf16le NOT NULL, + `r` varchar(10) CHARACTER SET utf16le NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT HEX(l), HEX(r) FROM t1; HEX(l) HEX(r) @@ -798,7 +798,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a',1) AS a LIMIT 0; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( - `a` varchar(1) CHARACTER SET utf16le COLLATE utf16le_bin NOT NULL DEFAULT '' + `a` varchar(1) CHARACTER SET utf16le COLLATE utf16le_bin NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 INSERT INTO t1 VALUES (_utf8mb4 0xEFBE9D),(_utf8mb4 0xF0908E84); INSERT INTO t1 VALUES (_utf8mb4 0xCE85),(_utf8mb4 0xF4808080); @@ -1686,7 +1686,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a', 64) AS a LIMIT 0; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( - `a` varchar(64) CHARACTER SET utf16le NOT NULL DEFAULT '' + `a` varchar(64) CHARACTER SET utf16le NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 INSERT INTO t1 VALUES (''); SELECT CHARSET(CONCAT(a,'2001-01-08 00:00:00' - INTERVAL 7 DAY)) FROM t1; @@ -1737,7 +1737,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a',2) as s1 LIMIT 0; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( - `s1` varchar(2) CHARACTER SET utf16le NOT NULL DEFAULT '' + `s1` varchar(2) CHARACTER SET utf16le NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 INSERT INTO t1 VALUES ('ab'),('AE'),('ab'),('AE'); SELECT * FROM t1 ORDER BY s1; @@ -1809,7 +1809,7 @@ ALTER TABLE t1 ADD PRIMARY KEY(c); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( - `c` varchar(10) CHARACTER SET utf16le COLLATE utf16le_bin NOT NULL DEFAULT '', + `c` varchar(10) CHARACTER SET utf16le COLLATE utf16le_bin NOT NULL, PRIMARY KEY (`c`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 INSERT INTO t1 VALUES ('abc'),('zyx'),('acb'); @@ -1830,7 +1830,7 @@ CREATE TABLE t1 AS SELECT 'a' AS a; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( - `a` varchar(1) CHARACTER SET utf16le NOT NULL DEFAULT '' + `a` varchar(1) CHARACTER SET utf16le NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 CREATE TABLE t2 AS SELECT WEIGHT_STRING(a) AS ws FROM t1; SHOW CREATE TABLE t2; @@ -1850,7 +1850,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a',5) AS a; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( - `a` varchar(5) CHARACTER SET utf16le NOT NULL DEFAULT '' + `a` varchar(5) CHARACTER SET utf16le NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 CREATE TABLE t2 AS SELECT WEIGHT_STRING(a) AS ws FROM t1; SHOW CREATE TABLE t2; @@ -2080,7 +2080,7 @@ CREATE TABLE t1 AS SELECT 'a' AS a; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( - `a` varchar(1) CHARACTER SET utf16le COLLATE utf16le_bin NOT NULL DEFAULT '' + `a` varchar(1) CHARACTER SET utf16le COLLATE utf16le_bin NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 CREATE TABLE t2 AS SELECT WEIGHT_STRING(a) AS ws FROM t1; SHOW CREATE TABLE t2; @@ -2100,7 +2100,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a',5) AS a; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( - `a` varchar(5) CHARACTER SET utf16le COLLATE utf16le_bin NOT NULL DEFAULT '' + `a` varchar(5) CHARACTER SET utf16le COLLATE utf16le_bin NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 CREATE TABLE t2 AS SELECT WEIGHT_STRING(a) AS ws FROM t1; SHOW CREATE TABLE t2; -- cgit v1.2.1