Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-3929

Add system variable explicit_defaults_for_timestamp for compatibility with MySQL

Details

    • 10.1.6-2, 10.1.8-1, 10.1.8-2

    Description

      As the description of the main task MDEV-452 already mentions, MySQL implementation has the variable explicit_defaults_for_timestamp which modifies the behavior of auto-updated temporal columns. Since the planned release approaches and we don't have the variable yet, we either need to add it now, or decide to release without it, and add it in further versions. Either is okay as long as it's not completely forgotten.

      The definition of MySQL's implementation can be found here:
      http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_explicit_defaults_for_timestamp

      What we should do in MariaDB:

      • Add this new variable and have it work as MySQL when enabled.
      • Have it disabled as default, to not cause incompatibilities with old applications
      • Always keep the variable around (not make it deprecated) as we don't want to have it default.
      • Add a MYSQL mode where, if enabled, this variable is set.

      TODO: check how replication of this variable works in MySQL.

      Attachments

        Issue Links

          Activity

            elenst Elena Stepanova created issue -
            elenst Elena Stepanova made changes -
            Field Original Value New Value
            timour Timour Katchaounov (Inactive) made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            timour Timour Katchaounov (Inactive) made changes -
            Status In Progress [ 3 ] Open [ 1 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 10.0.1 [ 11400 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 10.1.0 [ 12200 ]
            elenst Elena Stepanova made changes -
            bar Alexander Barkov made changes -
            Assignee Timour Katchaounov [ timour ] Alexander Barkov [ bar ]
            serg Sergei Golubchik made changes -
            serg Sergei Golubchik made changes -
            Workflow defaullt [ 25611 ] MariaDB v2 [ 42425 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 10.1 [ 16100 ]
            Fix Version/s 10.1.0 [ 12200 ]
            bar Alexander Barkov made changes -
            bar Alexander Barkov made changes -
            bar Alexander Barkov made changes -
            bar Alexander Barkov made changes -
            ratzpo Rasmus Johansson (Inactive) made changes -
            Workflow MariaDB v2 [ 42425 ] MariaDB v3 [ 61371 ]
            monty Michael Widenius made changes -
            Description As the description of the main task MDEV-452 already mentions, MySQL implementation has the variable {{explicit_defaults_for_timestamp}} which modifies the behavior of auto-updated temporal columns. Since the planned release approaches and we don't have the variable yet, we either need to add it now, or decide to release without it, and add it in further versions. Either is okay as long as it's not completely forgotten. As the description of the main task MDEV-452 already mentions, MySQL implementation has the variable {{explicit_defaults_for_timestamp}} which modifies the behavior of auto-updated temporal columns. Since the planned release approaches and we don't have the variable yet, we either need to add it now, or decide to release without it, and add it in further versions. Either is okay as long as it's not completely forgotten.

            The definition of MySQL's implementation can be found here:
            http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_explicit_defaults_for_timestamp

            What we should do in MariaDB:
            - Add this new variable and have it work as MySQL when enabled.
            - Have it disabled as default, to not cause incompatibilities with old applications
            - Always keep this around (not make it depricated)
            monty Michael Widenius made changes -
            Description As the description of the main task MDEV-452 already mentions, MySQL implementation has the variable {{explicit_defaults_for_timestamp}} which modifies the behavior of auto-updated temporal columns. Since the planned release approaches and we don't have the variable yet, we either need to add it now, or decide to release without it, and add it in further versions. Either is okay as long as it's not completely forgotten.

            The definition of MySQL's implementation can be found here:
            http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_explicit_defaults_for_timestamp

            What we should do in MariaDB:
            - Add this new variable and have it work as MySQL when enabled.
            - Have it disabled as default, to not cause incompatibilities with old applications
            - Always keep this around (not make it depricated)
            As the description of the main task MDEV-452 already mentions, MySQL implementation has the variable {{explicit_defaults_for_timestamp}} which modifies the behavior of auto-updated temporal columns. Since the planned release approaches and we don't have the variable yet, we either need to add it now, or decide to release without it, and add it in further versions. Either is okay as long as it's not completely forgotten.

            The definition of MySQL's implementation can be found here:
            http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_explicit_defaults_for_timestamp

            What we should do in MariaDB:
            - Add this new variable and have it work as MySQL when enabled.
            - Have it disabled as default, to not cause incompatibilities with old applications
            - Always keep the variable around (not make it deprecated) as we don't want to have it default.
            - Add a MYSQL mode where, if enabled, this variable is set.
            bar Alexander Barkov made changes -
            Priority Major [ 3 ] Critical [ 2 ]
            monty Michael Widenius made changes -
            Description As the description of the main task MDEV-452 already mentions, MySQL implementation has the variable {{explicit_defaults_for_timestamp}} which modifies the behavior of auto-updated temporal columns. Since the planned release approaches and we don't have the variable yet, we either need to add it now, or decide to release without it, and add it in further versions. Either is okay as long as it's not completely forgotten.

            The definition of MySQL's implementation can be found here:
            http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_explicit_defaults_for_timestamp

            What we should do in MariaDB:
            - Add this new variable and have it work as MySQL when enabled.
            - Have it disabled as default, to not cause incompatibilities with old applications
            - Always keep the variable around (not make it deprecated) as we don't want to have it default.
            - Add a MYSQL mode where, if enabled, this variable is set.
            As the description of the main task MDEV-452 already mentions, MySQL implementation has the variable {{explicit_defaults_for_timestamp}} which modifies the behavior of auto-updated temporal columns. Since the planned release approaches and we don't have the variable yet, we either need to add it now, or decide to release without it, and add it in further versions. Either is okay as long as it's not completely forgotten.

            The definition of MySQL's implementation can be found here:
            http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_explicit_defaults_for_timestamp

            What we should do in MariaDB:
            - Add this new variable and have it work as MySQL when enabled.
            - Have it disabled as default, to not cause incompatibilities with old applications
            - Always keep the variable around (not make it deprecated) as we don't want to have it default.
            - Add a MYSQL mode where, if enabled, this variable is set.

            Things to do:
            - Check how this works with statement based replication.
            bar Alexander Barkov made changes -
            Description As the description of the main task MDEV-452 already mentions, MySQL implementation has the variable {{explicit_defaults_for_timestamp}} which modifies the behavior of auto-updated temporal columns. Since the planned release approaches and we don't have the variable yet, we either need to add it now, or decide to release without it, and add it in further versions. Either is okay as long as it's not completely forgotten.

            The definition of MySQL's implementation can be found here:
            http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_explicit_defaults_for_timestamp

            What we should do in MariaDB:
            - Add this new variable and have it work as MySQL when enabled.
            - Have it disabled as default, to not cause incompatibilities with old applications
            - Always keep the variable around (not make it deprecated) as we don't want to have it default.
            - Add a MYSQL mode where, if enabled, this variable is set.

            Things to do:
            - Check how this works with statement based replication.
            As the description of the main task MDEV-452 already mentions, MySQL implementation has the variable {{explicit_defaults_for_timestamp}} which modifies the behavior of auto-updated temporal columns. Since the planned release approaches and we don't have the variable yet, we either need to add it now, or decide to release without it, and add it in further versions. Either is okay as long as it's not completely forgotten.

            The definition of MySQL's implementation can be found here:
            http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_explicit_defaults_for_timestamp

            What we should do in MariaDB:
            - Add this new variable and have it work as MySQL when enabled.
            - Have it disabled as default, to not cause incompatibilities with old applications
            - Always keep the variable around (not make it deprecated) as we don't want to have it default.
            - Add a MYSQL mode where, if enabled, this variable is set.

            TODO: check how replication of this variable works in MySQL.
            bar Alexander Barkov made changes -
            bar Alexander Barkov made changes -
            bar Alexander Barkov made changes -
            Parent MDEV-452 [ 13706 ]
            Issue Type Technical task [ 7 ] Task [ 3 ]
            bar Alexander Barkov made changes -
            bar Alexander Barkov made changes -
            Sprint 10.1.6-2 [ 7 ]
            bar Alexander Barkov made changes -
            Rank Ranked lower
            bar Alexander Barkov made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            bar Alexander Barkov made changes -
            Assignee Alexander Barkov [ bar ] Sergei Golubchik [ serg ]
            Status In Progress [ 3 ] In Review [ 10002 ]
            bar Alexander Barkov made changes -
            bar Alexander Barkov made changes -
            ratzpo Rasmus Johansson (Inactive) made changes -
            Sprint 10.1.6-2 [ 7 ] 10.1.6-2, 10.0.21 [ 7, 8 ]
            ratzpo Rasmus Johansson (Inactive) made changes -
            Rank Ranked higher
            ratzpo Rasmus Johansson (Inactive) made changes -
            Sprint 10.1.6-2, 10.0.21 [ 7, 8 ] 10.1.6-2 [ 7 ]
            ratzpo Rasmus Johansson (Inactive) made changes -
            Sprint 10.1.6-2 [ 7 ] 10.1.6-2, 10.1.8-1 [ 7, 13 ]
            serg Sergei Golubchik made changes -
            Assignee Sergei Golubchik [ serg ] Alexander Barkov [ bar ]
            Status In Review [ 10002 ] Stalled [ 10000 ]
            bar Alexander Barkov made changes -
            Assignee Alexander Barkov [ bar ] Sergei Golubchik [ serg ]
            bar Alexander Barkov made changes -
            Assignee Sergei Golubchik [ serg ] Alexander Barkov [ bar ]
            serg Sergei Golubchik made changes -
            Sprint 10.1.6-2, 10.1.8-1 [ 7, 13 ] 10.1.6-2, 10.1.8-1, 10.1.8-2 [ 7, 13, 14 ]
            serg Sergei Golubchik made changes -
            Rank Ranked higher
            bar Alexander Barkov made changes -
            Component/s Temporal Types [ 11000 ]
            Fix Version/s 10.1.8 [ 19605 ]
            Fix Version/s 10.1 [ 16100 ]
            Resolution Fixed [ 1 ]
            Status Stalled [ 10000 ] Closed [ 6 ]
            serg Sergei Golubchik made changes -
            serg Sergei Golubchik made changes -
            Workflow MariaDB v3 [ 61371 ] MariaDB v4 [ 132040 ]
            elenst Elena Stepanova made changes -

            People

              bar Alexander Barkov
              elenst Elena Stepanova
              Votes:
              1 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.