Changes & Improvements in MariaDB 10.3
The most recent release of MariaDB 10.3 is:
MariaDB 10.3.39 Stable (GA) Download Now
Contents
MariaDB 10.3 is the current major development version.
Do not use alpha releases in production!
The following lists the major new features in MariaDB 10.3:
Implemented Features
Syntax / General Features
- CREATE SEQUENCE - MDEV-10139
- SHOW CREATE SEQUENCE
- ALTER SEQUENCE
- DROP SEQUENCE
- NEXT VALUE FOR
- PREVIOUS VALUE FOR
- SETVAL()
- INTERSECT and EXCEPT - MDEV-10141
- ROW data type for stored routine variables - MDEV-10914, MDEV-12007, MDEV-12291
- TYPE OF and ROW TYPE OF anchored data types for stored routine variables - MDEV-12461
- Cursors with parameters - MDEV-12457
- DDL Fast Fail - WAIT/NOWAIT - MDEV-11379, MDEV-11388
- CHR() function (MDEV-12685)
- DELETE statement can delete from the table that is used in a subquery in the
WHERE
clause (MDEV-12137) - Stored routine parameters can use
ROW TYPE OF
(MDEV-13581) - The server now supports the PROXY protocol - see also the new proxy_protocol_networks system variable (MDEV-11159)
- Instant ADD COLUMN (MDEV-11369) — Tencent Game DBA Team, developed by vinchen.
- UPDATE statements with the same source and target (MDEV-12874) — from Jerome Brauge.
- ORDER BY and LIMIT in multi-table update (MDEV-13911)
- DATE_FORMAT(date, format, locale) - 3 argument form of DATE_FORMAT (MDEV-11553)
Compatibility
- When running with sql_mode=ORACLE, the server now understands a subset of Oracle's PL/SQL language instead of the traditional MariaDB syntax for stored routines. See MDEV-10142, MDEV-10764 and SQL_MODE=ORACLE From MariaDB 10.3 to know the current status.
- New sql_mode, EMPTY_STRING_IS_NULL.
Compression
- Storage-engine Independent Column Compression (MDEV-11371) — Tencent Game DBA Team, developed by willhan, also thanks to AliSQL.
Encryption
- Temporary files created by merge sort and row log are encrypted if innodb_encrypt_log is set to
1
, regardless of whether the table encrypted or not (MDEV-12634).
Optimizer
- Condition pushdown through
PARTITION BY
clause of window functions (MDEV-10855) - New optimizer switch setting,
split_grouping_derived=on
(see description)
Storage engines
Spider engine
Spider storage engine has been updated to 3.3.13. The partitioning storage engine has been updated to support all the new Spider features like:
- Direct join support. This allows Spider to do JOINS and GROUP BY internally
- Direct update and delete
- Direct aggregates
- slave_transaction_retry_errors and slave-transaction-retry-interval allows ones more control for handling delays or conflicts when applying binary logs
Most of the features was done as part of MDEV-7698.
Partition engine
- Full text support
- Multi-range-read (Gives better performance when having to multiple ranges)
- Support for condition pushdown
Logging
- Disable logging of certain statements to the general log or the slow query log with the log_disabled_statements and log_slow_disabled_statements system variables.
- A new option to log_slow_filter,
filsort_priority_queue
.
Global-transaction ID
- New system variable gtid_pos_auto_engines for improving performance if a server is using multiple different storage engines in different transactions (MDEV-12179)
Data type API
10.3 continues refactoring for the data type API started in 10.2, which will make it possible to have user data type plugins. This work is still in progress (see MDEV-4912 for the current status and subtasks). Most of the task in this category do not change the server behavior. Some tasks do have a visible effect.
Idle transactions
Connections with idle transactions can be automatically killed after a specified time period by means of the idle_transaction_timeout, idle_readonly_transaction_timeout and idle_write_transaction_timeout system variables.
System Variables
For a list of all new variables, see System Variables Added in MariaDB 10.3 and Status Variables Added in MariaDB 10.3.
- New status variables Rpl_transactions_multi_engine, Transactions_gtid_foreign_engine, Transactions_multi_engine and Com_alter_sequence.
- session variables tracking is enabled by default (MDEV-11825)
- Remove deprecated variables innodb_file_format, innodb_file_format_check, innodb_file_format_max and innodb_large_prefix.
- version_source_revision - permits seeing which version of the source was used for the build (MDEV-12583).
- Added bind_address as a system variable (MDEV-12542).
Comparison with MySQL
List of All MariaDB 10.3 Releases
Date | Release | Status | Release Notes | Changelog |
---|---|---|---|---|
9 Oct 2017 | MariaDB 10.3.2 | Alpha | Release Notes | Changelog |
29 Aug 2017 | MariaDB 10.3.1 | Alpha | Release Notes | Changelog |
16 Apr 2017 | MariaDB 10.3.0 | Alpha | Release Notes | Changelog |