diff options
Diffstat (limited to 'mysql-test/suite/sys_vars/r/explicit_defaults_for_timestamp_off.result')
-rw-r--r-- | mysql-test/suite/sys_vars/r/explicit_defaults_for_timestamp_off.result | 54 |
1 files changed, 53 insertions, 1 deletions
diff --git a/mysql-test/suite/sys_vars/r/explicit_defaults_for_timestamp_off.result b/mysql-test/suite/sys_vars/r/explicit_defaults_for_timestamp_off.result index e94766be8bd..016b130285f 100644 --- a/mysql-test/suite/sys_vars/r/explicit_defaults_for_timestamp_off.result +++ b/mysql-test/suite/sys_vars/r/explicit_defaults_for_timestamp_off.result @@ -1,3 +1,4 @@ +set @@explicit_defaults_for_timestamp=0; CREATE TABLE t1 (a TIMESTAMP); SHOW CREATE TABLE t1; Table Create Table @@ -13,7 +14,13 @@ t1 CREATE TABLE `t1` ( ) ENGINE=MyISAM DEFAULT CHARSET=latin1 DROP TABLE t1; CREATE TABLE t1 (a TIMESTAMP DEFAULT NULL); -ERROR 42000: Invalid default value for 'a' +INSERT t1 () VALUES (); +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +DROP TABLE t1; CREATE TABLE t1 (a TIMESTAMP DEFAULT '0000-00-00 00:00:00'); SHOW CREATE TABLE t1; Table Create Table @@ -186,3 +193,48 @@ a DROP TABLE t1; SET sql_mode=DEFAULT; SET timestamp=DEFAULT; +# +# MDEV-29075 Changing explicit_defaults_for_timestamp within stored procedure works inconsistently +# +set statement explicit_defaults_for_timestamp=1-@@explicit_defaults_for_timestamp for create table t1 (ts timestamp); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `ts` timestamp NULL DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +drop table t1; +create procedure pr() +begin +set explicit_defaults_for_timestamp= 1-@@explicit_defaults_for_timestamp; +create table t1 (ts timestamp); +end $ +call pr(); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `ts` timestamp NULL DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +drop procedure pr; +drop table t1; +prepare stmt from 'create or replace table t1 (a timestamp)'; +execute stmt; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` timestamp NULL DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +set explicit_defaults_for_timestamp=1-@@explicit_defaults_for_timestamp; +execute stmt; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +set explicit_defaults_for_timestamp=1-@@explicit_defaults_for_timestamp; +execute stmt; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` timestamp NULL DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +drop table t1; |