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

Hard-code the shared InnoDB temporary tablespace ID

Details

    Description

      MySQL 5.7 supports only one shared temporary tablespace.
      MariaDB 10.2 does not support any other shared InnoDB tablespaces than the two predefined tablespaces: the persistent InnoDB system tablespace (default file name ibdata1) and the temporary tablespace (default file name ibtmp1).

      InnoDB is unnecessarily allocating a tablespace ID for the predefined temporary tablespace on every startup, and it is in several places testing whether a tablespace ID matches this dynamically generated ID.

      We should use a compile-time constant to reduce code size and to avoid unnecessary updates to the DICT_HDR page at every startup.

      Using a hard-coded tablespace ID will also make it easier to remove the TEMPORARY flag from FSP_SPACE_FLAGS in MDEV-11202.

      Attachments

        Issue Links

          Activity

            bb-10.2-mdev-11585

            marko Marko Mäkelä added a comment - bb-10.2-mdev-11585

            ok to push.

            jplindst Jan Lindström (Inactive) added a comment - ok to push.

            It seems that the value 0xFFFFFFFFU might clash with ULINT_UNDEFINED on 32-bit systems, potentially causing tables in the temporary tablespace to be mistaken for tables with a missing tablespace or vice versa. I changed the constant to 0xFFFFFFFEU (-2) to see if this fixes some test failures. (I was unable to build with -m32 on my x86-64 Debian GNU/Linux system.)

            marko Marko Mäkelä added a comment - It seems that the value 0xFFFFFFFFU might clash with ULINT_UNDEFINED on 32-bit systems, potentially causing tables in the temporary tablespace to be mistaken for tables with a missing tablespace or vice versa. I changed the constant to 0xFFFFFFFEU (-2) to see if this fixes some test failures. (I was unable to build with -m32 on my x86-64 Debian GNU/Linux system.)

            People

              marko Marko Mäkelä
              marko Marko Mäkelä
              Votes:
              0 Vote for this issue
              Watchers:
              2 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.