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

Upgrade from MySQL to MariaDB breaks already created views

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 10.0.14
    • Fix Version/s: 5.5.43, 10.0.18
    • Component/s: Views
    • Labels:
      None

      Description

      If you create a view with ALGORITHM=MERGE or ALGORITHM=TEMPTABLE in MySQL 5.1 (or actually I believe in any version of MySQL) and then start MariaDB on the same data the algorithm in the view definition gets changed to the opposite one (MERGE -> TEMPTABLE and TEMPTABLE -> MERGE).

      The problem is in this commit: http://bazaar.launchpad.net/~maria-captains/maria/10.0/revision/2502.557.1 which was made in response to this bug https://bugs.launchpad.net/maria/+bug/983285.

      If you look closely comment #2 on the bug says: "In 5.2 numeric algorithm values are: undefined=0, temptable=1, merge=2." If you look at sql/table.h in the commit you'll see:

      #define VIEW_ALGORITHM_MERGE_FRM      1
      #define VIEW_ALGORITHM_TMPTABLE_FRM   2

      So the numeric values stored in the frm file (and thus interpretation of the values written in the frm file) got reversed and sadly nobody noticed that. Now it will break any upgrade from MySQL to MariaDB.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                serg Sergei Golubchik
                Reporter:
                pivanof Pavel Ivanov
              • Votes:
                1 Vote for this issue
                Watchers:
                11 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: