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

Remove the global sequence DICT_HDR_ROW_ID for DB_ROW_ID

Details

    Description

      InnoDB tables that lack a primary key (and any UNIQUE INDEX whose all columns are NOT NULL) will use an internally generated index, called GEN_CLUST_INDEX(DB_ROW_ID) in the InnoDB data dictionary, and hidden from the SQL layer.

      The 48-bit DB_ROW_ID is being assigned from a global sequence that is persisted in the DICT_HDR page.

      There is absolutely no reason for the DB_ROW_ID to be globally unique across all InnoDB tables. We should replace dict_sys_get_new_row_id() with a simple atomic increment of a counter in dict_table_t. When the table is opened for the first time, btr_cur_instant_init_low() can initialize the per-table counter by doing something similar to row_search_max_autoinc().

      Attachments

        Issue Links

          Activity

            The per-table DB_ROW_ID counter will be restored in btr_cur_instant_init() and row_import_cleanup(). A downgrade to earlier server versions will be prevented by MDEV-29694/MDEV-30106.

            marko Marko Mäkelä added a comment - The per-table DB_ROW_ID counter will be restored in btr_cur_instant_init() and row_import_cleanup() . A downgrade to earlier server versions will be prevented by MDEV-29694 / MDEV-30106 .

            origin/bb-10.11-new-innodb-defaults c434f870a346fb11a6b5932dbdf860ed7e2d2f74 2022-12-12T10:05:22+02:00
            which contains MDEV-29986, MDEV-19506, MDEV-29694, MDEV-30136, MDEV-29983
            performed well in RQG testing. No new problems

            mleich Matthias Leich added a comment - origin/bb-10.11-new-innodb-defaults c434f870a346fb11a6b5932dbdf860ed7e2d2f74 2022-12-12T10:05:22+02:00 which contains MDEV-29986 , MDEV-19506 , MDEV-29694 , MDEV-30136 , MDEV-29983 performed well in RQG testing. No new problems

            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.