Skip to content
  • Abhishek Ranjan's avatar
    7fc29107
    WL#9687 : Change default for explicit_defaults_for_timestamp to ON · 7fc29107
    Abhishek Ranjan authored
    Change default value of explicit_defaults_for_timestamp to ON.
    Add deprecation warning when the value of
    explicit_defaults_for_timestamp is changed from TRUE to FALSE.
    
    In MySQL 5.6 explicit_defaults_for_timestamp option was introduced (and
    deprecated) in WL#6292 with the intention of suggesting users to switch
    to new behavior. In most cases though, users ignore the warnings from
    explicit_defaults_for_timestamp. This worklog will change the default
    value of explicit_defaults_for_timestamp to TRUE, with users able to
    revert back to the FALSE behavior in mysql-8.0.
    
    Fix test cases to execute with default behavior by:
    i>   Record new default value of explicit_defaults_for_timestamp option.
    ii>  Record the result difference by not promotion of timestamp columns
         by default.
    iii> Timestamp columns are now nullable by default and no auto
         promotion happens. Record test output.
    iv>  Test tried to insert ZERO date in NO_ZERO_DATE mode. This
         is not allowed for timestamp column by default. Adjusted test case.
    v>   Fix sql mode to test the intended behavior of the test and
         record result file.
    vi>  There are error scenario to check that CREATE TABLE statement fails
         with 2 timestamp column with NO_ZERO_DATE sql. This is deprecated
         behavior. Removed the test scenario.
    vii> Record the extra warning when trying to insert NULL to
         TIMESTAMP NOT NULL column. Value inserted in the table changed
         from current_timestamp value to '0000-00-00 00:00:00'.
    7fc29107
    WL#9687 : Change default for explicit_defaults_for_timestamp to ON
    Abhishek Ranjan authored
    Change default value of explicit_defaults_for_timestamp to ON.
    Add deprecation warning when the value of
    explicit_defaults_for_timestamp is changed from TRUE to FALSE.
    
    In MySQL 5.6 explicit_defaults_for_timestamp option was introduced (and
    deprecated) in WL#6292 with the intention of suggesting users to switch
    to new behavior. In most cases though, users ignore the warnings from
    explicit_defaults_for_timestamp. This worklog will change the default
    value of explicit_defaults_for_timestamp to TRUE, with users able to
    revert back to the FALSE behavior in mysql-8.0.
    
    Fix test cases to execute with default behavior by:
    i>   Record new default value of explicit_defaults_for_timestamp option.
    ii>  Record the result difference by not promotion of timestamp columns
         by default.
    iii> Timestamp columns are now nullable by default and no auto
         promotion happens. Record test output.
    iv>  Test tried to insert ZERO date in NO_ZERO_DATE mode. This
         is not allowed for timestamp column by default. Adjusted test case.
    v>   Fix sql mode to test the intended behavior of the test and
         record result file.
    vi>  There are error scenario to check that CREATE TABLE statement fails
         with 2 timestamp column with NO_ZERO_DATE sql. This is deprecated
         behavior. Removed the test scenario.
    vii> Record the extra warning when trying to insert NULL to
         TIMESTAMP NOT NULL column. Value inserted in the table changed
         from current_timestamp value to '0000-00-00 00:00:00'.
Loading