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

Enable setting start datetime for interval partitioned history of system versioned tables

    XMLWordPrintable

Details

    Description

      System Versioning allows storing the historical data in separate partitions partitioned by a time interval. (see https://mariadb.com/kb/en/library/system-versioned-tables/#storing-the-history-separately). This would be a helpful functionality if it were possible to set the start datatime for the interval, e.g. the start of the fiscal year. This way the data could be partitioned by fiscal year which would make it easy to drop ald partitions for which the retention time as expired. Without this interval adjustment removing old data would result in a DELETE ... WHERE ...

      Proposal for syntax

      CREATE TABLE t (x INT) WITH SYSTEM VERSIONING
        PARTITION BY SYSTEM_TIME INTERVAL 1 YEAR STARTS '2018-10-01 00:00:00'  (
          PARTITION p0 HISTORY,
          PARTITION p1 HISTORY,
          PARTITION p2 HISTORY,
          PARTITION pcur CURRENT
        );

      Default STARTS rounding depending on INTERVAL type

      If STARTS clause is omitted, a default one is assigned with value
      derived from query timestamp. The rounding is done on STARTS value
      depending on INTERVAL type:

      SECOND: no rounding is done;
      MINUTE: timestamp seconds is set to 0;
      HOUR: timestamp seconds and minutes are set to 0;
      DAY, WEEK, MONTH and YEAR: timestamp seconds, minutes and hours are
      set to 0 (the date of rotation is kept as current date).

      Attachments

        Issue Links

          Activity

            People

              midenok Aleksey Midenkov
              umoser Ulrich Moser (Inactive)
              Votes:
              1 Vote for this issue
              Watchers:
              7 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.