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

Alter table (renaming and adding index) fails with "Incorrect key file for table"

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Duplicate
    • Affects Version/s: 10.0.18, 10.0.23
    • Fix Version/s: N/A
    • Labels:
      None
    • Environment:
      Ubuntu 14.04.1 LTS x86_64, 10.0.23 built from source

      Description

      When renaming a column and adding an index on the renamed column in the same alter statement, said statement fails with:

      ERROR 1034 (HY000): Incorrect key file for table 't'; try to repair it

      This can be reproduced consistently as follows:

      DROP TABLE IF EXISTS t;
       
      CREATE TABLE t (
              a INT NOT NULL,
              b INT NOT NULL,
              PRIMARY KEY (a)
      );
       
      ALTER TABLE t
              CHANGE COLUMN b c INT NOT NULL,
              ADD UNIQUE INDEX (c);

      In debug builds, the following (or similar) is written to the error log:

      InnoDB: Error: no matching column for "<8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f><8f>" in index "c"--temporary-- of table "db"."t"!

      This seems to have been broken in 10.0.18 (possibly related to the virtual column changes), as the query succeeds in 10.0.17 and earlier.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              jplindst Jan Lindström
              Reporter:
              davidgow David Gow
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: