Skip to content

Releases: tempesta-tech/mariadb

1.0: Review fixes and merge into 10.3

18 Jan 11:55
Compare
Choose a tag to compare

Added:

  • IB-layer VTQ is moved to SQL-layer TRT (Transaction Registry Table);
  • IB System Versioning timestamp-based mode;
  • MariaDB review fixes and syntax changes.

Fixed:

  • More than 50 bugs fixed.

Review, bug fixes

08 Sep 10:50
Compare
Choose a tag to compare
Review, bug fixes Pre-release
Pre-release

Added:

  • IB system fields comparison with timestamps.

Fixed:

  • Syntax changes:
    • QUERY FOR removed;
    • system fields drop rules for WITHOUT SYSTEM VERSIONING;
    • no implicit versioning for CREATE ... SELECT.
  • partitioning fixes;
  • SYSTEM_TIME for derived revisited;
  • Error messages revisited;
  • minor refactorings;
  • 14 bugs fixed.

DDL survival: VTMD tracking

19 Jun 12:36
Compare
Choose a tag to compare
Pre-release

Added:

  • VTMD tables are created as copy of mysql.vtmd_template;
  • VTMD tracking: CREATE, ALTER, DROP, RENAME;
  • Versioned SHOW CREATE TABLE as tracked by VTMD;
  • Additional clauses for GENERATED AS ROW fields: NOT NULL, [PRIMARY] KEY, UNIQUE [KEY], COMMENT.

Fixed:

  • IB: start_time_micro usage;
  • CREATE TABLE .. LIKE;
  • ALTER TABLE .. ADD COLUMN.

DDL survival intro; Advanced derived handling

03 May 11:38
Compare
Choose a tag to compare

Based on Apr-9 10.3

Added:

  • Retain intact history as separate tables on data-changing DDL (controlled by versioning_ddl_survival);
  • versioning_ddl_survival turns DDL Survival ON/OFF;
  • SYSTEM_TIME is propagated downward/upward in derived tables and views;
  • Default simple algorithm for InnoDB (controlled by versioning_innodb_algorithm_simple);
  • FOR SYSTEM_TIME BEFORE in SELECT.

Fixed:

  • Prefix changed for versioning sysvars from vers_ to versioning_;
  • Innopart UPDATE fix;
  • Misc bug fixes.

Known problems:

Condition commit_ts >= begin_ts is unstable (#189)

Bug fixes, CREATE .. SELECT

31 Mar 11:51
Compare
Choose a tag to compare
Pre-release

Added:

  • System variables: vers_current_timestamp, vers_force, vers_hide;
  • Forced versioning mode (vers_force) to create all tables with System Versioning;
  • 4 modes of vers_hide: AUTO, IMPLICIT, FULL, NEVER;
  • CREATE .. SELECT to copy structure and data of versioned tables.

Fixed:

  • 14 bugs fixed (mostly found in main.select with forced versioning mode);
  • temporary tables from InnoDB tables.

InnoDB partitioning, syntax extensions

21 Feb 08:32
Compare
Choose a tag to compare
Pre-release
  • Native InnoDB partitioning for BY SYSTEM_TIME partitions [#118];
  • AS OF query for CTE [#74];
  • AS OF query for VIEW [#98];
  • INPLACE algorithm for InnoDB ALTER [#87];
  • Misc bugfixes and scripts.

Partition pruning, History truncation

16 Jan 07:29
Compare
Choose a tag to compare
Pre-release

Added:

  • Partition pruning [#97]:
    • based on RANGE pruning by COLUMNS (sys_trx_end) condition;
    • removed DEFAULT; AS OF NOW is always last; current VERSIONING as last non-empty (or first empty);
    • ALTER TABLE ADD PARTITION adds before AS OF NOW partition;
    • Min/Max partition stats are multi-threaded.
  • History truncation [#96, #111]:
    • FOR SYSTEM_TIME clause for TRUNCATE TABLE;
    • FOR SYSTEM_TIME BEFORE syntax extension.
  • FOR SYSTEM_TIME is now table-local or query-global [#116]:
    • QUERY keyword makes it query-global.

Fixed:

  • Row-based replication [#94, #107];
  • FK cascade delete when parent versioned [#101];
  • FOR SYSTEM_TIME support in VIEW expression [#99];
  • Prohibit write-locking of historic rows [fixes #102];
  • ALTER ADD AUTO_INCREMENT for versioned tables [#112].

Server-level partitioning, ALTER TABLE

15 Dec 09:59
Compare
Choose a tag to compare
Pre-release

Added:

  • Server-level partitioning [#77]:
    • one AS OF NOW, multiple VERSIONING partitions;
    • rotation of VERSIONING partitions by record count, time period;
    • rotation is multi-threaded;
    • conventional subpartitions as bottom level for versioned partitions;
    • DEFAULT keyword selects first VERSIONING partition;
    • ALTER TABLE ADD/DROP partition;
    • REBUILD PARTITION basic operation.
  • ALTER TABLE basic support [#57].

Fixed:

  • do not update VTQ on optimized update [#80];
  • IB: SIGABRT on versioned INSERT with binlog ON [#79];
  • misc shortcoming fixes.

Transaction visibility

15 Nov 10:40
Compare
Choose a tag to compare
Pre-release

Based on mariadb-10.2.2.

Added:

  • TRANSACTION keyword in SELECT query;
  • TIMESTAMP/TRANSACTION keyword can be used before FROM ... TO, BETWEEN ... AND;
  • COMMIT_ID-based transaction ordering and transaction visibility in SELECT;
  • Foreign Key constraints.

Fixed:

  • implicit sys_trx_* columns are hidden from SELECT *;
  • NULL in unverstioned fields in historical queries.

Per-column versioning

18 Oct 13:05
Compare
Choose a tag to compare
Per-column versioning Pre-release
Pre-release

Added:

  • Per-column update optimization;
  • Syntax extensions: implicit system fields sys_trx_start, sys_trx_end; implied clauses.

Fixed:

  • FOR SYSTEM_TIME clause in SELECT was bound to only last table in list (ded545b);
  • LEFT/RIGHT JOIN on versioned tables worked as INNER JOIN (262e6ee).

Known issues:

  • Implicitly created fields are not hidden (#38);
  • Non-versioned fields display indeterminate values in AS OF queries (#51);