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

UNIV_INTERN is useless and should be removed

    XMLWordPrintable

    Details

      Description

      Back in 2006 or 2007, when MySQL AB and Innobase Oy existed as separately controlled entities (Innobase had been acquired by Oracle Corporation), MySQL 5.1 introduced a pluggable storage engine interface and Oracle made use of it by distributing a separate InnoDB Plugin, which would contain some more bug fixes and improvements, compared to the version of InnoDB that was statically linked with the mysqld server that was distributed by MySQL AB. The built-in InnoDB would export global symbols, which would clash with the symbols of the dynamic InnoDB Plugin (which was supposed to override the built-in one when present).

      The solution to this problem was to declare all global symbols with UNIV_INTERN, so that they would get the GCC function attribute that specifies hidden visibility.

      Later, in MariaDB Server, something based on Percona XtraDB (a fork of MySQL’s InnoDB) became the statically linked implementation, and a more vanilla InnoDB was available as a dynamic plugin. Starting with MariaDB Server 10.2, there is only one InnoDB implementation available in MariaDB, and hence any reason to have the UNIV_INTERN definition was lost.

        Attachments

          Activity

            People

            Assignee:
            marko Marko Mäkelä
            Reporter:
            marko Marko Mäkelä
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Git Integration