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

Refactor some ALTER column operations to use innobase_instant_try()

Details

    Description

      Subjects are: rename column, enlarge column, change column versioning.

      Attachments

        Issue Links

          Activity

            Actually, rename columns is off topic. Because it happens not only on INSTANT but also in INPLACE https://github.com/MariaDB/server/blob/382115b99297ceaa4c3067f79efb5c2515013be5/storage/innobase/handler/handler0alter.cc#L9809

            kevg Eugene Kosov (Inactive) added a comment - Actually, rename columns is off topic. Because it happens not only on INSTANT but also in INPLACE https://github.com/MariaDB/server/blob/382115b99297ceaa4c3067f79efb5c2515013be5/storage/innobase/handler/handler0alter.cc#L9809

            I do not think that renaming columns is any different from enlarging columns. It involves updating metadata only.

            Please extend the patch to cover enlarging columns. Ideally, there would be only one code path that updates SYS_COLUMNS and the data dictionary cache.

            marko Marko Mäkelä added a comment - I do not think that renaming columns is any different from enlarging columns. It involves updating metadata only. Please extend the patch to cover enlarging columns. Ideally, there would be only one code path that updates SYS_COLUMNS and the data dictionary cache.

            > I do not think that renaming columns is any different from enlarging columns. It involves updating metadata only.

            It is actually, because it works even in commit_try_rebuild(). Only pure instant operation could be moved inside `innobase_instant_try()`.

            > Please extend the patch to cover enlarging columns. Ideally, there would be only one code path that updates SYS_COLUMNS and the data dictionary cache.

            It's already in the patch.

            kevg Eugene Kosov (Inactive) added a comment - > I do not think that renaming columns is any different from enlarging columns. It involves updating metadata only. It is actually, because it works even in commit_try_rebuild() . Only pure instant operation could be moved inside `innobase_instant_try()`. > Please extend the patch to cover enlarging columns. Ideally, there would be only one code path that updates SYS_COLUMNS and the data dictionary cache. It's already in the patch.

            The current patch would cause unnecessary rebuild for ROW_FORMAT=COMPRESSED tables.

            We may have to limit the scope of this idea or to abandon it altogether.

            marko Marko Mäkelä added a comment - The current patch would cause unnecessary rebuild for ROW_FORMAT=COMPRESSED tables. We may have to limit the scope of this idea or to abandon it altogether.

            People

              thiru Thirunarayanan Balathandayuthapani
              kevg Eugene Kosov (Inactive)
              Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.