Details

    Description

      Atomic drop table (MDEV-23844) does not recover the replaced table if CREATE OR REPLACE TABLE fails.

      This is because current, as before, CREATE OR REPLACE TABLE foo ... is implemented as:

      DROP TABLE IF EXISTS foo;
      CREATE TABLE foo ..

      Because of that failed CREATE OR REPLACE TABLE or a crash during the create will lead to lost table, if the original table existed.

      This task equips table drop with backing up the old table until the new table was successfully created.

      In other words, this task ensures that if one executes CREATE OR REPLACE TABLE foo on an existing table, the table foo will either be the new or old table after the statement has executed, including in the cases the CREATE fails or the server crashes.

      NOTE: this change was in a preview release for MariaDB Community Server 10.10.0, but could not be added to 10.10 RC

      Attachments

        Issue Links

          Activity

            midenok Aleksey Midenkov created issue -
            midenok Aleksey Midenkov made changes -
            Field Original Value New Value
            midenok Aleksey Midenkov made changes -
            Component/s Data Definition - Create Table [ 14503 ]
            midenok Aleksey Midenkov made changes -
            Fix Version/s 10.6 [ 24028 ]
            midenok Aleksey Midenkov made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            midenok Aleksey Midenkov made changes -
            Issue Type Bug [ 1 ] Task [ 3 ]
            midenok Aleksey Midenkov made changes -
            Description MDEV-23844 does not recover the old table back. Because of that crashed CREATE OR REPLACE TABLE t1 will lead to lost table t1.

            This task equips table drop with backing up the old table until the new table was succesfully created.
            Atomic drop table (MDEV-23844) does not recover the old table back. Because of that crashed CREATE OR REPLACE TABLE t1 will lead to lost table t1.

            This task equips table drop with backing up the old table until the new table was succesfully created.
            midenok Aleksey Midenkov made changes -
            Summary Atomic CREATE OR REPLACE Atomic CREATE OR REPLACE TABLE
            midenok Aleksey Midenkov made changes -
            Assignee Aleksey Midenkov [ midenok ] Michael Widenius [ monty ]
            monty Michael Widenius made changes -
            Description Atomic drop table (MDEV-23844) does not recover the old table back. Because of that crashed CREATE OR REPLACE TABLE t1 will lead to lost table t1.

            This task equips table drop with backing up the old table until the new table was succesfully created.
            Atomic drop table (MDEV-23844) does not recover the replaced table if CREATE OR REPLACE TABLE fails.

            This is because current, as before, CREATE OR REPLACE TABLE foo ... is implemented as:

            DROP TABLE IF EXISTS foo;
            CREATE TABLE foo ..

            Because of that failed CREATE OR REPLACE TABLE or a crash during the create will lead to lost table, if the original table existed.

            This task equips table drop with backing up the old table until the new table was successfully created.
            monty Michael Widenius made changes -
            monty Michael Widenius made changes -
            Description Atomic drop table (MDEV-23844) does not recover the replaced table if CREATE OR REPLACE TABLE fails.

            This is because current, as before, CREATE OR REPLACE TABLE foo ... is implemented as:

            DROP TABLE IF EXISTS foo;
            CREATE TABLE foo ..

            Because of that failed CREATE OR REPLACE TABLE or a crash during the create will lead to lost table, if the original table existed.

            This task equips table drop with backing up the old table until the new table was successfully created.
            Atomic drop table (MDEV-23844) does not recover the replaced table if CREATE OR REPLACE TABLE fails.

            This is because current, as before, CREATE OR REPLACE TABLE foo ... is implemented as:

            DROP TABLE IF EXISTS foo;
            CREATE TABLE foo ..

            Because of that failed CREATE OR REPLACE TABLE or a crash during the create will lead to lost table, if the original table existed.

            This task equips table drop with backing up the old table until the new table was successfully created.

            In other words, this task ensures that if one executes CREATE OR REPLACE TABLE foo on an existing table,
            the table foo will either be the new or old table after the statement has executed, including in the cases the CREATE fails
            or the server crashes.
            midenok Aleksey Midenkov made changes -
            midenok Aleksey Midenkov made changes -
            midenok Aleksey Midenkov made changes -
            monty Michael Widenius made changes -
            Description Atomic drop table (MDEV-23844) does not recover the replaced table if CREATE OR REPLACE TABLE fails.

            This is because current, as before, CREATE OR REPLACE TABLE foo ... is implemented as:

            DROP TABLE IF EXISTS foo;
            CREATE TABLE foo ..

            Because of that failed CREATE OR REPLACE TABLE or a crash during the create will lead to lost table, if the original table existed.

            This task equips table drop with backing up the old table until the new table was successfully created.

            In other words, this task ensures that if one executes CREATE OR REPLACE TABLE foo on an existing table,
            the table foo will either be the new or old table after the statement has executed, including in the cases the CREATE fails
            or the server crashes.
            Atomic drop table (MDEV-23844) does not recover the replaced table if CREATE OR REPLACE TABLE fails.

            This is because current, as before, CREATE OR REPLACE TABLE foo ... is implemented as:

            DROP TABLE IF EXISTS foo;
            CREATE TABLE foo ..

            Because of that failed CREATE OR REPLACE TABLE or a crash during the create will lead to lost table, if the original table existed.

            This task equips table drop with backing up the old table until the new table was successfully created.

            In other words, this task ensures that if one executes CREATE OR REPLACE TABLE foo on an existing table, the table foo will either be the new or old table after the statement has executed, including in the cases the CREATE fails or the server crashes.
            ralf.gebhardt Ralf Gebhardt made changes -
            monty Michael Widenius made changes -
            midenok Aleksey Midenkov made changes -
            Assignee Michael Widenius [ monty ] Aleksey Midenkov [ midenok ]
            midenok Aleksey Midenkov made changes -
            Fix Version/s 10.8 [ 26121 ]
            Fix Version/s 10.6 [ 24028 ]
            midenok Aleksey Midenkov made changes -
            Comment [ A comment with security level 'Developers' was removed. ]
            midenok Aleksey Midenkov made changes -
            Assignee Aleksey Midenkov [ midenok ] Michael Widenius [ monty ]
            Status In Progress [ 3 ] In Review [ 10002 ]
            serg Sergei Golubchik made changes -
            Workflow MariaDB v3 [ 120591 ] MariaDB v4 [ 131780 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 10.9 [ 26905 ]
            Fix Version/s 10.8 [ 26121 ]
            midenok Aleksey Midenkov made changes -
            Assignee Michael Widenius [ monty ] Aleksey Midenkov [ midenok ]
            midenok Aleksey Midenkov made changes -
            Status In Review [ 10002 ] Stalled [ 10000 ]
            midenok Aleksey Midenkov made changes -
            Status Stalled [ 10000 ] In Progress [ 3 ]
            midenok Aleksey Midenkov made changes -
            Assignee Aleksey Midenkov [ midenok ] Michael Widenius [ monty ]
            Status In Progress [ 3 ] In Review [ 10002 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 10.10 [ 27530 ]
            Fix Version/s 10.9 [ 26905 ]
            midenok Aleksey Midenkov made changes -
            Assignee Michael Widenius [ monty ] Marko Mäkelä [ marko ]
            midenok Aleksey Midenkov made changes -
            Status In Review [ 10002 ] In Testing [ 10301 ]
            marko Marko Mäkelä made changes -
            Assignee Marko Mäkelä [ marko ] Aleksey Midenkov [ midenok ]
            Status In Testing [ 10301 ] Stalled [ 10000 ]
            midenok Aleksey Midenkov made changes -
            midenok Aleksey Midenkov made changes -
            Status Stalled [ 10000 ] In Testing [ 10301 ]
            midenok Aleksey Midenkov made changes -
            Assignee Aleksey Midenkov [ midenok ] Lena Startseva [ JIRAUSER50478 ]
            midenok Aleksey Midenkov made changes -
            Assignee Lena Startseva [ JIRAUSER50478 ] Aleksey Midenkov [ midenok ]
            midenok Aleksey Midenkov made changes -
            Status In Testing [ 10301 ] Stalled [ 10000 ]
            midenok Aleksey Midenkov made changes -
            Assignee Aleksey Midenkov [ midenok ] Marko Mäkelä [ marko ]
            Status Stalled [ 10000 ] In Review [ 10002 ]
            midenok Aleksey Midenkov made changes -
            Status In Review [ 10002 ] In Testing [ 10301 ]
            midenok Aleksey Midenkov made changes -
            Assignee Marko Mäkelä [ marko ] Lena Startseva [ JIRAUSER50478 ]
            marko Marko Mäkelä made changes -
            serg Sergei Golubchik made changes -
            Assignee Lena Startseva [ JIRAUSER50478 ] Marko Mäkelä [ marko ]
            Status In Testing [ 10301 ] Stalled [ 10000 ]
            marko Marko Mäkelä made changes -
            Status Stalled [ 10000 ] In Testing [ 10301 ]
            marko Marko Mäkelä made changes -
            Assignee Marko Mäkelä [ marko ] Lena Startseva [ JIRAUSER50478 ]
            lstartseva Lena Startseva made changes -
            ramesh Ramesh Sivaraman made changes -
            lstartseva Lena Startseva made changes -
            lstartseva Lena Startseva made changes -
            Assignee Lena Startseva [ JIRAUSER50478 ] Aleksey Midenkov [ midenok ]
            Status In Testing [ 10301 ] Stalled [ 10000 ]
            midenok Aleksey Midenkov made changes -
            Status Stalled [ 10000 ] In Progress [ 3 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 10.11 [ 27614 ]
            Fix Version/s 10.10 [ 27530 ]
            AirFocus AirFocus made changes -
            Description Atomic drop table (MDEV-23844) does not recover the replaced table if CREATE OR REPLACE TABLE fails.

            This is because current, as before, CREATE OR REPLACE TABLE foo ... is implemented as:

            DROP TABLE IF EXISTS foo;
            CREATE TABLE foo ..

            Because of that failed CREATE OR REPLACE TABLE or a crash during the create will lead to lost table, if the original table existed.

            This task equips table drop with backing up the old table until the new table was successfully created.

            In other words, this task ensures that if one executes CREATE OR REPLACE TABLE foo on an existing table, the table foo will either be the new or old table after the statement has executed, including in the cases the CREATE fails or the server crashes.
            Atomic drop table (MDEV\-23844) does not recover the replaced table if CREATE OR REPLACE TABLE fails.

            This is because current, as before, CREATE OR REPLACE TABLE foo ... is implemented as:

            DROP TABLE IF EXISTS foo;
            CREATE TABLE foo ..

            Because of that failed CREATE OR REPLACE TABLE or a crash during the create will lead to lost table, if the original table existed.

            This task equips table drop with backing up the old table until the new table was successfully created.

            In other words, this task ensures that if one executes CREATE OR REPLACE TABLE foo on an existing table, the table foo will either be the new or old table after the statement has executed, including in the cases the CREATE fails or the server crashes.
            julien.fritsch Julien Fritsch made changes -
            Description Atomic drop table (MDEV\-23844) does not recover the replaced table if CREATE OR REPLACE TABLE fails.

            This is because current, as before, CREATE OR REPLACE TABLE foo ... is implemented as:

            DROP TABLE IF EXISTS foo;
            CREATE TABLE foo ..

            Because of that failed CREATE OR REPLACE TABLE or a crash during the create will lead to lost table, if the original table existed.

            This task equips table drop with backing up the old table until the new table was successfully created.

            In other words, this task ensures that if one executes CREATE OR REPLACE TABLE foo on an existing table, the table foo will either be the new or old table after the statement has executed, including in the cases the CREATE fails or the server crashes.
            Atomic drop table (MDEV-23844) does not recover the replaced table if CREATE OR REPLACE TABLE fails.

            This is because current, as before, CREATE OR REPLACE TABLE foo ... is implemented as:

            DROP TABLE IF EXISTS foo;
            CREATE TABLE foo ..

            Because of that failed CREATE OR REPLACE TABLE or a crash during the create will lead to lost table, if the original table existed.

            This task equips table drop with backing up the old table until the new table was successfully created.

            In other words, this task ensures that if one executes CREATE OR REPLACE TABLE foo on an existing table, the table foo will either be the new or old table after the statement has executed, including in the cases the CREATE fails or the server crashes.
            midenok Aleksey Midenkov made changes -
            midenok Aleksey Midenkov made changes -
            Fix Version/s 10.11.0 [ 28411 ]
            Fix Version/s 10.11 [ 27614 ]
            Resolution Fixed [ 1 ]
            Status In Progress [ 3 ] Closed [ 6 ]
            Roel Roel Van de Paar made changes -
            alice Alice Sherepa made changes -
            midenok Aleksey Midenkov made changes -
            Roel Roel Van de Paar made changes -
            Roel Roel Van de Paar made changes -
            elenst Elena Stepanova made changes -
            midenok Aleksey Midenkov made changes -
            midenok Aleksey Midenkov made changes -
            elenst Elena Stepanova made changes -
            elenst Elena Stepanova made changes -
            elenst Elena Stepanova made changes -
            elenst Elena Stepanova made changes -
            elenst Elena Stepanova made changes -
            elenst Elena Stepanova made changes -
            elenst Elena Stepanova made changes -
            elenst Elena Stepanova made changes -
            elenst Elena Stepanova made changes -
            elenst Elena Stepanova made changes -
            elenst Elena Stepanova made changes -
            elenst Elena Stepanova made changes -
            elenst Elena Stepanova made changes -
            elenst Elena Stepanova made changes -
            elenst Elena Stepanova made changes -
            Roel Roel Van de Paar made changes -
            elenst Elena Stepanova made changes -
            ralf.gebhardt Ralf Gebhardt made changes -
            ralf.gebhardt Ralf Gebhardt made changes -
            serg Sergei Golubchik made changes -
            Resolution Fixed [ 1 ]
            Status Closed [ 6 ] Stalled [ 10000 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 10.12 [ 28320 ]
            Fix Version/s 10.11.0 [ 28411 ]
            ralf.gebhardt Ralf Gebhardt made changes -
            ralf.gebhardt Ralf Gebhardt made changes -
            midenok Aleksey Midenkov made changes -
            Comment [ h5. Rebase to 10.12
            1. Pick the task from bb-10.11-midenok-MDEV-25292
            2. Apply patches from bb-10.11-midenok-MDEV-25292-fixes (everything except MDEV-28576) ]
            midenok Aleksey Midenkov made changes -
            Status Stalled [ 10000 ] In Testing [ 10301 ]
            lstartseva Lena Startseva made changes -
            Assignee Aleksey Midenkov [ midenok ] Lena Startseva [ JIRAUSER50478 ]
            ralf.gebhardt Ralf Gebhardt made changes -
            Fix Version/s 11.1 [ 28549 ]
            Fix Version/s 11.0 [ 28320 ]
            ralf.gebhardt Ralf Gebhardt made changes -
            Description Atomic drop table (MDEV-23844) does not recover the replaced table if CREATE OR REPLACE TABLE fails.

            This is because current, as before, CREATE OR REPLACE TABLE foo ... is implemented as:

            DROP TABLE IF EXISTS foo;
            CREATE TABLE foo ..

            Because of that failed CREATE OR REPLACE TABLE or a crash during the create will lead to lost table, if the original table existed.

            This task equips table drop with backing up the old table until the new table was successfully created.

            In other words, this task ensures that if one executes CREATE OR REPLACE TABLE foo on an existing table, the table foo will either be the new or old table after the statement has executed, including in the cases the CREATE fails or the server crashes.
            Atomic drop table (MDEV-23844) does not recover the replaced table if CREATE OR REPLACE TABLE fails.

            This is because current, as before, CREATE OR REPLACE TABLE foo ... is implemented as:

            DROP TABLE IF EXISTS foo;
            CREATE TABLE foo ..

            Because of that failed CREATE OR REPLACE TABLE or a crash during the create will lead to lost table, if the original table existed.

            This task equips table drop with backing up the old table until the new table was successfully created.

            In other words, this task ensures that if one executes CREATE OR REPLACE TABLE foo on an existing table, the table foo will either be the new or old table after the statement has executed, including in the cases the CREATE fails or the server crashes.

            *NOTE: this change was in a preview release for MariaDB Community Server 10.10.0, but could not be added to 10.10 RC*
            ralf.gebhardt Ralf Gebhardt made changes -
            Labels Preview_10.10_removed
            ralf.gebhardt Ralf Gebhardt made changes -
            Labels Preview_10.10_removed Preview_removed_10.10
            ralf.gebhardt Ralf Gebhardt made changes -
            Fix Version/s 11.0 [ 28320 ]
            Fix Version/s 11.1 [ 28549 ]
            serg Sergei Golubchik made changes -
            midenok Aleksey Midenkov made changes -
            Assignee Lena Startseva [ JIRAUSER50478 ] Aleksey Midenkov [ midenok ]
            midenok Aleksey Midenkov made changes -
            Status In Testing [ 10301 ] Stalled [ 10000 ]
            midenok Aleksey Midenkov made changes -
            Status Stalled [ 10000 ] In Progress [ 3 ]
            Roel Roel Van de Paar made changes -
            midenok Aleksey Midenkov made changes -
            Status In Progress [ 3 ] In Testing [ 10301 ]
            midenok Aleksey Midenkov made changes -
            Comment [ A comment with security level 'Developers' was removed. ]
            Roel Roel Van de Paar made changes -
            Roel Roel Van de Paar made changes -
            Roel Roel Van de Paar made changes -
            Roel Roel Van de Paar made changes -
            Roel Roel Van de Paar made changes -
            midenok Aleksey Midenkov made changes -
            midenok Aleksey Midenkov made changes -
            midenok Aleksey Midenkov made changes -
            Status In Testing [ 10301 ] Stalled [ 10000 ]
            midenok Aleksey Midenkov made changes -
            Assignee Aleksey Midenkov [ midenok ] Michael Widenius [ monty ]
            Status Stalled [ 10000 ] In Review [ 10002 ]
            midenok Aleksey Midenkov made changes -
            Comment [ Rebased to 10.11 in [bb-10.11-midenok-MDEV-25292|https://github.com/MariaDB/server/commits/bb-10.11-midenok-MDEV-25292] ]
            elenst Elena Stepanova made changes -
            ralf.gebhardt Ralf Gebhardt made changes -
            Fix Version/s 11.1 [ 28549 ]
            Fix Version/s 11.0 [ 28320 ]
            ralf.gebhardt Ralf Gebhardt made changes -
            Labels Preview_removed_10.10 Preview_10.10 Preview_removed_10.10
            ralf.gebhardt Ralf Gebhardt made changes -
            Labels Preview_10.10 Preview_removed_10.10 Preview_10.10
            ycp Yuchen Pei made changes -
            ralf.gebhardt Ralf Gebhardt made changes -
            Fix Version/s 11.2 [ 28603 ]
            Fix Version/s 11.1 [ 28549 ]
            midenok Aleksey Midenkov made changes -
            ralf.gebhardt Ralf Gebhardt made changes -
            Fix Version/s 11.3 [ 28565 ]
            Fix Version/s 11.2 [ 28603 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 11.4 [ 29301 ]
            Fix Version/s 11.3 [ 28565 ]
            ralf.gebhardt Ralf Gebhardt made changes -
            Fix Version/s 11.5 [ 29506 ]
            Fix Version/s 11.4 [ 29301 ]
            julien.fritsch Julien Fritsch made changes -
            Issue Type Task [ 3 ] New Feature [ 2 ]
            julien.fritsch Julien Fritsch made changes -
            Status In Review [ 10002 ] Stalled [ 10000 ]
            elenst Elena Stepanova made changes -
            serg Sergei Golubchik made changes -
            Fix Version/s 11.6 [ 29515 ]
            Fix Version/s 11.5 [ 29506 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 11.7 [ 29815 ]
            Fix Version/s 11.6 [ 29515 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 11.8 [ 29921 ]
            Fix Version/s 11.7 [ 29815 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 11.9 [ 29945 ]
            Fix Version/s 11.8 [ 29921 ]
            monty Michael Widenius made changes -
            Status Stalled [ 10000 ] In Progress [ 3 ]
            marko Marko Mäkelä made changes -
            marko Marko Mäkelä made changes -
            julien.fritsch Julien Fritsch made changes -
            Fix Version/s 11.10 [ 29992 ]
            Fix Version/s 11.9 [ 29945 ]
            marko Marko Mäkelä made changes -
            monty Michael Widenius made changes -
            monty Michael Widenius made changes -
            Status In Progress [ 3 ] In Testing [ 10301 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 12.0 [ 29945 ]
            Fix Version/s 12.1 [ 29992 ]
            serg Sergei Golubchik made changes -
            Assignee Michael Widenius [ monty ] Elena Stepanova [ elenst ]
            marko Marko Mäkelä made changes -
            serg Sergei Golubchik made changes -
            ralf.gebhardt Ralf Gebhardt made changes -
            Labels Preview_10.10 Preview_10.10 Preview_12.0
            elenst Elena Stepanova made changes -
            elenst Elena Stepanova made changes -

            People

              elenst Elena Stepanova
              midenok Aleksey Midenkov
              Votes:
              2 Vote for this issue
              Watchers:
              12 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

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