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

my_rename() deletes files when it shouldn't

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • 5.1.67, 5.2.14, 5.3.12, 5.5.35, 10.0.7
    • 10.0.9
    • None
    • Windows

    Description

      On Windows my_rename() deletes the target file before renaming. But if the source file does not exist, it means that a target file was deleted erroneously.

      It particular, this is a problem for handler::rename_table() that renames all files from handler::bas_ext(). It assumes that the table was renamed successfully if at least some files existed and were renamed. On Windows it would delete all other target files though.

      Possible fixes:

      • verify that the source file exists in my_rename() — unnecessary overhead?
      • verify that the source file exists in handler::rename_table()
      • add a special MYF flag to my_rename() that tells to verify whether the source exists before deleting; use this flag in handler::rename_table()

      Attachments

        Activity

          People

            svoj Sergey Vojtovich
            serg Sergei Golubchik
            Votes:
            0 Vote for this issue
            Watchers:
            3 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.