From: Jon Olav Hauglid Date: June 1 2012 7:40am Subject: bzr push into mysql-trunk-wl6292 branch (jon.hauglid:3917 to 3918) WL#6292 List-Archive: http://lists.mysql.com/commits/144070 Message-Id: <201206010740.q517eAWn011047@acsmt358.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 3918 Jon Olav Hauglid 2012-06-01 WL#6292 - Make TIMESTAMP columns nullable by default. Review patch #1: - Remove disabled deprecation warning from add_table_to_list() - Fix test failure in mysqld--help-win.test modified: mysql-test/r/mysqld--help-win.result sql/sql_parse.cc 3917 Gopal Shankar 2012-05-31 WL#6292 - Make TIMESTAMP columns nullable by default. Patch2: Makes following changes, 1) Provide deprecated warning at MySQL server startup when --explicit_defaults_for_timestamp is not set. Added suppression for the warning message in mysql-test/include/mtr_warnings.sql 2) Updated scripts/mysql_system_tables.sql, such that the table structures of system table remain consistent, i.e., Irrespective of whether --explicit_defaults_for_timestamp option is set or not set. modified: .bzr-mysql/default.conf mysql-test/include/mtr_warnings.sql scripts/mysql_system_tables.sql sql/mysqld.cc === modified file 'mysql-test/r/mysqld--help-win.result' --- a/mysql-test/r/mysqld--help-win.result 2012-05-28 09:09:33 +0000 +++ b/mysql-test/r/mysqld--help-win.result 2012-06-01 07:39:33 +0000 @@ -185,6 +185,14 @@ The following options may be given as th If non-zero, binary logs will be purged after expire_logs_days days; possible purges happen at startup and at binary log rotation + --explicit-defaults-for-timestamp + This option causes CREATE TABLE to make all TIMESTAMP + columns to have DEFAULT NULL property, same behavior as + that of other column types. Old behavior is that the + TIMESTAMP columns get implicit DEFAULT clauses. +It is + recommend to start the server with this option enabled, + because old behavior will be deprecated. --external-locking Use system (external) locking (disabled by default). With this option enabled you can run myisamchk to test (not repair) tables while the MySQL server is running. === modified file 'sql/sql_parse.cc' --- a/sql/sql_parse.cc 2012-05-30 09:32:53 +0000 +++ b/sql/sql_parse.cc 2012-06-01 07:39:33 +0000 @@ -6309,18 +6309,6 @@ bool add_field_to_list(THD *thd, LEX_STR DBUG_RETURN(1); } } -#if 0 - //Following code is causing some strange fails of GRANT commands - //Keeping this commented for the first review. - if (type == MYSQL_TYPE_TIMESTAMP2 && !default_value && - (type_modifier & NOT_NULL_FLAG) && - !thd->variables.explicit_defaults_for_timestamp) - { - WARN_DEPRECATED(thd, "TIMESTAMP with implicit default value", - "--explicit_defaults_for_timestamp (see documentation)."); - } -#endif - if (on_update_value && (!real_type_with_now_on_update(type) || No bundle (reason: useless for push emails).