All pages
Powered by GitBook
1 of 1

Loading...

MariaDB 10.3 Changes & Improvements

MariaDB 10.3 is no longer maintained. Please use a more recent release.

The most recent release of MariaDB 10.3 is:MariaDB 10.3.39 Stable (GA) Download Now

MariaDB 10.3 is a previous major stable version. The first stable release was in May 2018, and it was maintained until May 2023.

For details on upgrading from MariaDB 10.2, see .

MariaDB Server 10.3 is included in MariaDB TX 3.0. Watch the webinar recording to learn more about the new features included in this release.

The following lists the major new features in MariaDB 10.3:

Implemented Features

  • ()

Syntax / General Features

  • (also known as AS OF) ()

  • () — GSoC 2017 project by Galina Shalygina

  • () — GSoC 2017 project by Galina Shalygina

  • now supports local SP variables ()

Compatibility

  • As a result of implementing Table Value Constructors, the has been renamed to VALUE() ()

  • When running with , the server now understands a subset of Oracle's PL/SQL language instead of the traditional MariaDB syntax for stored routines. See , and to know the current status.

  • New , EMPTY_STRING_IS_NULL.

Compression

  • () — Tencent Game DBA Team, developed by willhan, also thanks to AliSQL.

  • On Linux, shrink the core dumps by omitting the InnoDB buffer pool ()

Encryption

  • Temporary files created by merge sort and row log are encrypted if is set to 1, regardless of whether the table encrypted or not ().

Optimizer/Performance

  • Condition pushdown through PARTITION BY clause of ()

  • New was introduced.

  • Numerous performance improvements for high-concurrency load

  • Numerous scalability and performance improvements to global data structures, including

Storage Engines

InnoDB

  • now has a new mode, 3, which skips the rollback of connected transactions ()

Spider

The has been updated to 3.3.13. The partitioning storage engine has been updated to support all the new Spider features including:

  • Direct join support. This allows Spider to do JOINS and GROUP BYs internally.

  • Direct update and delete.

  • Direct aggregates.

  • and allow more control over handling delays or conflicts when applying binary logs.

Most of the features were done as part of .

OQGRAPH

  • now supports the "leaves" algorithm () — contribution by Heinz Wiesinger

Partition Engine

  • Numerous improvements for the partition engine () — contribution by Kentoku Shiba

    • Full text support.

    • Multi-range-read (Gives better performance when handling multiple ranges).

    • Support for condition pushdown.

Information Schema

  • The Information Schema is optimized to use much less memory when selecting from or any other table with many or columns ()

  • The now displays info in the EXTRA column -

Logging

  • Disable logging of certain statements to the or the with the and system variables.

  • A new option to , filsort_priority_queue.

Replication

  • Per-engine mysql.gtid_slave_pos tables () — Implemented by Kristian Nielsen funded by Booking.com.

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 for the current status and subtasks). Most of the task in this category do not change the server behavior. Some tasks do have a .

Idle Transactions

Connections with idle transactions can be automatically killed after a specified time period by means of the , and system variables.

System Variables

For a list of all new variables, see and .

  • New system variable .

  • New system variable for restricting the direct setting of a session timestamp ()

  • is enabled by default ()

  • Remove deprecated variables , , and .

Security Vulnerabilities Fixed in

For a complete list of security vulnerabilities (CVEs) fixed across all versions of MariaDB, see the page.

  • :

  • :

  • :

  • :

Comparison with MySQL

List of All Releases

Date
Release
Status
Release Notes
Changelog

See Also

  • (MDEV-7773) — GSoC 2016 project by Varun Gupta

  • Support for clause in (MDEV-11297)

  • , , and (MDEV-12985)

  • statement (MDEV-14415)

  • (MDEV-14593)

  • Oracle compatible function (MDEV-14012) — contribution by Jérôme Brauge

  • (MDEV-10177) — GSoC 2016 project by Sachin Setiya

  • Various scalability improvements (MDEV-14529, MDEV-14505)

  • merged into the server (MDEV-13073) — contribution by Alibaba

  • and . These are both now and can no longer be used as an without being quoted (MDEV-10141)

  • data type for variables (MDEV-10914, MDEV-12007, MDEV-12291)

  • anchored data types for variables (MDEV-12461)

  • with parameters (MDEV-12457)

  • (MDEV-11379, MDEV-11388)

  • function (MDEV-12685)

  • statement can delete from the table that is used in a subquery in the WHERE clause (MDEV-12137)

  • Stored routine parameters can use (MDEV-13581)

  • The server now - see also the new system variable (MDEV-11159)

  • (MDEV-11369) — Tencent Game DBA Team, developed by vinchen.

  • (MDEV-12874) — from Jerome Brauge.

  • and in multi-table update (MDEV-13911)

  • - 3 argument form of DATE_FORMAT (MDEV-11553)

  • The MariaDB SQL/PL stored procedure dialect (enabled with sql_mode=ORACLE) now supports Oracle style packages. Support for the following statements has been added (MDEV-10591):

  • New SIMULTANEOUS_ASSIGNMENT to make the SET part of the statement evaluate all assignments simultaneously, not left-to-right.

  • Correctness improvement - TRUNCATE honors transactional locks (MDEV-15061)

  • Windows binaries now use high-precision timer when available (MDEV-15694). This makes much less probable for two queries to have the same CURRENT_TIMESTAMP(6) value, for example.

  • Two new options, INSTANT and NOCOPY, which allow operations that would require any data files to be modified, or that would require rebuilding the clustered index respectively, to be refused rather than potentially perform slowly (MDEV-13134)

  • --ignore-database option (MDEV-13336)

  • and
    are both now
    and can no longer be used as an
    without being quoted (
    )
  • Functions that used to only return 64-bit now can return 32-bit results (MDEV-12619).

  • ,
    ,
    ,
    ,
  • Performance improvements to persistent data structures: MDEV-15090, MDEV-15132

  • HANDLER support

  • Aggregate pushdown

  • Bulk update/delete

  • - permits seeing which version of the source was used for the build (MDEV-12583).

  • Added as a system variable (MDEV-12542).

  • The max value of the system variable has been increased from 1048576 to 4294967295

  • The variable can now be modified without restarting the server (MDEV-15501)

  • CVE-2022-32088: MariaDB 10.3.35

  • CVE-2022-32087: MariaDB 10.3.35

  • CVE-2022-32085: MariaDB 10.3.35

  • CVE-2022-32084: MariaDB 10.3.36

  • CVE-2022-32083: MariaDB 10.3.35

  • CVE-2022-31624: MariaDB 10.3.32

  • CVE-2022-27458: MariaDB 10.3.35

  • CVE-2022-27456: MariaDB 10.3.35

  • CVE-2022-27452: MariaDB 10.3.35

  • CVE-2022-27449: MariaDB 10.3.35

  • CVE-2022-27448: MariaDB 10.3.35

  • CVE-2022-27447: MariaDB 10.3.35

  • CVE-2022-27445: MariaDB 10.3.35

  • CVE-2022-27387: MariaDB 10.3.35

  • CVE-2022-27386: MariaDB 10.3.35

  • CVE-2022-27385: MariaDB 10.3.32

  • CVE-2022-27384: MariaDB 10.3.35

  • CVE-2022-27383: MariaDB 10.3.35

  • CVE-2022-27381: MariaDB 10.3.35

  • CVE-2022-27380: MariaDB 10.3.35

  • CVE-2022-27379: MariaDB 10.3.35

  • CVE-2022-27378: MariaDB 10.3.35

  • CVE-2022-27377: MariaDB 10.3.35

  • CVE-2022-27376: MariaDB 10.3.35

  • CVE-2022-24052: MariaDB 10.3.33

  • CVE-2022-24051: MariaDB 10.3.33

  • CVE-2022-24050: MariaDB 10.3.33

  • CVE-2022-24048: MariaDB 10.3.33

  • CVE-2022-21595: MariaDB 10.3.33

  • CVE-2022-21451: MariaDB 10.3.29

  • CVE-2022-21427: MariaDB 10.3.35

  • CVE-2022-0778: MariaDB 10.3.33

  • CVE-2021-46669: MariaDB 10.3.35

  • CVE-2021-46668: MariaDB 10.3.34

  • CVE-2021-46667: MariaDB 10.3.32

  • CVE-2021-46666: MariaDB 10.3.30

  • CVE-2021-46665: MariaDB 10.3.34

  • CVE-2021-46664: MariaDB 10.3.34

  • CVE-2021-46663: MariaDB 10.3.34

  • CVE-2021-46662: MariaDB 10.3.32

  • CVE-2021-46661: MariaDB 10.3.34

  • CVE-2021-46659: MariaDB 10.3.33

  • CVE-2021-46658: MariaDB 10.3.31

  • CVE-2021-46657: MariaDB 10.3.30

  • CVE-2021-35604: MariaDB 10.3.32

  • CVE-2021-27928: MariaDB 10.3.28

  • CVE-2021-2389: MariaDB 10.3.31

  • CVE-2021-2372: MariaDB 10.3.31

  • CVE-2021-2194: MariaDB 10.3.26

  • CVE-2021-2166: MariaDB 10.3.29

  • CVE-2021-2154: MariaDB 10.3.29

  • CVE-2021-2144: MariaDB 10.3.19

  • CVE-2021-2022: MariaDB 10.3.24

  • CVE-2021-2007: MariaDB 10.3.17

  • CVE-2020-2922: MariaDB 10.3.17

  • CVE-2020-28912: MariaDB 10.3.26

  • CVE-2020-2814: MariaDB 10.3.23

  • CVE-2020-2812: MariaDB 10.3.23

  • CVE-2020-2780: MariaDB 10.3.19

  • CVE-2020-2760: MariaDB 10.3.23

  • CVE-2020-2752: MariaDB 10.3.23

  • CVE-2020-2574: MariaDB 10.3.22

  • CVE-2020-15180: MariaDB 10.3.25

  • CVE-2020-14812: MariaDB 10.3.26

  • CVE-2020-14789: MariaDB 10.3.26

  • CVE-2020-14776: MariaDB 10.3.26

  • CVE-2020-14765: MariaDB 10.3.26

  • CVE-2020-13249: MariaDB 10.3.23

  • CVE-2019-2974: MariaDB 10.3.19

  • CVE-2019-2938: MariaDB 10.3.19

  • CVE-2019-2805: MariaDB 10.3.17

  • CVE-2019-2758: MariaDB 10.3.17

  • CVE-2019-2740: MariaDB 10.3.17

  • CVE-2019-2739: MariaDB 10.3.17

  • CVE-2019-2737: MariaDB 10.3.17

  • CVE-2019-2628: MariaDB 10.3.15

  • CVE-2019-2627: MariaDB 10.3.15

  • CVE-2019-2614: MariaDB 10.3.15

  • CVE-2019-2537: MariaDB 10.3.13

  • CVE-2019-2510: MariaDB 10.3.13

  • CVE-2019-2503: MariaDB 10.3.10

  • CVE-2018-3284: MariaDB 10.3.11

  • CVE-2018-3282: MariaDB 10.3.11

  • CVE-2018-3277: MariaDB 10.3.11

  • CVE-2018-3251: MariaDB 10.3.11

  • CVE-2018-3200: MariaDB 10.3.11

  • CVE-2018-3185: MariaDB 10.3.11

  • CVE-2018-3174: MariaDB 10.3.11

  • CVE-2018-3173: MariaDB 10.3.11

  • CVE-2018-3162: MariaDB 10.3.11

  • CVE-2018-3156: MariaDB 10.3.11

  • CVE-2018-3143: MariaDB 10.3.11

  • CVE-2018-3066: MariaDB 10.3.9

  • CVE-2018-3064: MariaDB 10.3.9

  • CVE-2018-3063: MariaDB 10.3.9

  • CVE-2018-3060: MariaDB 10.3.9

  • CVE-2018-3058: MariaDB 10.3.9

  • CVE-2018-25032: MariaDB 10.3.36

  • CVE-2016-9843: MariaDB 10.3.11

  • Stable (GA)

    15 Aug 2022

    Stable (GA)

    20 May 2022

    Stable (GA)

    12 Feb 2022

    Stable (GA)

    9 Feb 2022

    Stable (GA)

    8 Nov 2021

    Stable (GA)

    6 Aug 2021

    Stable (GA)

    23 Jun 2021

    Stable (GA)

    7 May 2021

    Stable (GA)

    22 Feb 2021

    Stable (GA)

    11 Nov 2020

    Stable (GA)

    3 Nov 2020

    Stable (GA)

    7 Oct 2020

    Stable (GA)

    10 Aug 2020

    Stable (GA)

    12 May 2020

    Stable (GA)

    28 Jan 2020

    Stable (GA)

    11 Dec 2019

    Stable (GA)

    8 Nov 2019

    Stable (GA)

    5 Nov 2019

    Stable (GA)

    11 Sep 2019

    Stable (GA)

    31 Jul 2019

    Stable (GA)

    17 Jun 2019

    Stable (GA)

    14 May 2019

    Stable (GA)

    2 Apr 2019

    Stable (GA)

    21 Feb 2019

    Stable (GA)

    7 Jan 2019

    Stable (GA)

    20 Nov 2018

    Stable (GA)

    4 Oct 2018

    Stable (GA)

    15 Aug 2018

    Stable (GA)

    2 Jul 2018

    Stable (GA)

    25 May 2018

    Stable (GA)

    16 Apr 2018

    Release Candidate (RC)

    26 Feb 2018

    Release Candidate (RC)

    18 Jan 2018

    Beta

    23 Dec 2017

    Beta

    9 Oct 2017

    Alpha

    29 Aug 2017

    Alpha

    16 Apr 2017

    Alpha

    10 May 2023

    MariaDB 10.3.39

    Stable (GA)

    Release Notes

    Changelog

    6 Feb 2023

    MariaDB 10.3.38

    Stable (GA)

    Release Notes

    Changelog

    MDEV-10139
    MDEV-12894
    MDEV-12172
    MDEV-12176
    MDEV-14139
    MDEV-12172
    sql_mode=ORACLE
    MDEV-10142
    MDEV-10764
    SQL_MODE=ORACLE From MariaDB 10.3
    MDEV-11371
    MDEV-10814
    MDEV-12634
    MDEV-10855
    MDEV-14756
    MDEV-15832
    MDEV-7698
    MDEV-11271
    MDEV-7698
    MDEV-14275
    MDEV-15062
    MDEV-12179
    MDEV-4912
    visible effect
    MDEV-15923
    MDEV-11825
    MariaDB 10.3
    CVE-2023-5157
    MariaDB 10.3.36
    CVE-2022-47015
    MariaDB 10.3.39
    CVE-2022-38791
    MariaDB 10.3.36
    CVE-2022-32091
    MariaDB 10.3.36
    System Variable Differences Between MariaDB 10.3 and MySQL 8.0
    Function Differences Between MariaDB 10.3 and MySQL 8.0
    System Variable Differences Between MariaDB 10.3 and MySQL 5.7
    Function Differences Between MariaDB 10.3 and MySQL 5.7
    MariaDB 10.3
    View the source tree
    10.3 Features/fixes by vote

    7 Nov 2022

    MDEV-10141
    MDEV-15019
    MDEV-14482
    MDEV-15059
    MDEV-15104
    MariaDB 10.3.37
    Release Notes
    Changelog
    MariaDB 10.3.36
    Release Notes
    Changelog
    MariaDB 10.3.35
    Release Notes
    Changelog
    MariaDB 10.3.34
    Release Notes
    Changelog
    MariaDB 10.3.33
    Release Notes
    Changelog
    MariaDB 10.3.32
    Release Notes
    Changelog
    MariaDB 10.3.31
    Release Notes
    Changelog
    MariaDB 10.3.30
    Release Notes
    Changelog
    MariaDB 10.3.29
    Release Notes
    Changelog
    MariaDB 10.3.28
    Release Notes
    Changelog
    MariaDB 10.3.27
    Release Notes
    Changelog
    MariaDB 10.3.26
    Release Notes
    Changelog
    MariaDB 10.3.25
    Release Notes
    Changelog
    MariaDB 10.3.24
    Release Notes
    Changelog
    MariaDB 10.3.23
    Release Notes
    Changelog
    MariaDB 10.3.22
    Release Notes
    Changelog
    MariaDB 10.3.21
    Release Notes
    Changelog
    MariaDB 10.3.20
    Release Notes
    Changelog
    MariaDB 10.3.19
    Release Notes
    Changelog
    MariaDB 10.3.18
    Release Notes
    Changelog
    MariaDB 10.3.17
    Release Notes
    Changelog
    MariaDB 10.3.16
    Release Notes
    Changelog
    MariaDB 10.3.15
    Release Notes
    Changelog
    MariaDB 10.3.14
    Release Notes
    Changelog
    MariaDB 10.3.13
    Release Notes
    Changelog
    MariaDB 10.3.12
    Release Notes
    Changelog
    MariaDB 10.3.11
    Release Notes
    Changelog
    MariaDB 10.3.10
    Release Notes
    Changelog
    MariaDB 10.3.9
    Release Notes
    Changelog
    MariaDB 10.3.8
    Release Notes
    Changelog
    MariaDB 10.3.7
    Release Notes
    Changelog
    MariaDB 10.3.6
    Release Notes
    Changelog
    MariaDB 10.3.5
    Release Notes
    Changelog
    MariaDB 10.3.4
    Release Notes
    Changelog
    MariaDB 10.3.3
    Release Notes
    Changelog
    MariaDB 10.3.2
    Release Notes
    Changelog
    MariaDB 10.3.1
    Release Notes
    Changelog
    MariaDB 10.3.0
    Release Notes
    Changelog

    Be notified of new MariaDB Server releases automatically by subscribing to the MariaDB Foundation community announce 'at' lists.mariadb.org announcement list (this is a low traffic, announce-only list). MariaDB plc customers will be notified for all new releases, security issues and critical bug fixes for all MariaDB plc products thanks to the Notification Services.

    MariaDB may already be included in your favorite OS distribution. More information can be found on the page.

    Distributions which Include MariaDB
    Upgrading from MariaDB 10.2 to 10.3
    Sequences
    Sequences Overview
    CREATE SEQUENCE
    SHOW CREATE SEQUENCE
    ALTER SEQUENCE
    System-versioned tables
    Table Value Constructors
    Transform [NOT] IN predicate with long list of values INTO [NOT] IN subquery
    ROW TYPE OF
    VALUES function
    sql_mode
    Storage-engine Independent Column Compression
    innodb_encrypt_log
    window functions
    Lateral Derived optimization
    innodb_fast_shutdown
    Spider storage engine
    slave_transaction_retry_errors
    slave-transaction-retry-interval
    OQGraph
    INFORMATION_SCHEMA.TABLES
    VARCHAR
    TEXT
    Information Schema Columns table
    system versioning
    general log
    slow query log
    log_disabled_statements
    log_slow_disabled_statements
    log_slow_filter
    idle_transaction_timeout
    idle_readonly_transaction_timeout
    idle_write_transaction_timeout
    System Variables Added in MariaDB 10.3
    Status Variables Added in MariaDB 10.3
    gtid_pos_auto_engines
    secure_timestamp
    session variables tracking
    innodb_file_format
    innodb_file_format_check
    innodb_file_format_max
    innodb_large_prefix
    Security Vulnerabilities Fixed in MariaDB
    Getting, Installing, and Upgrading MariaDB
    DROP SEQUENCE
    NEXT VALUE FOR
    PREVIOUS VALUE FOR
    SETVAL()
    Aggregate stored functions
    LIMIT
    GROUP_CONCAT()
    PERCENTILE_CONT
    PERCENTILE_DISC
    MEDIAN
    window functions
    FOR ... END FOR
    XA RECOVER FORMAT='SQL'
    SUBSTR()
    INVISIBLE columns
    Semi-sync plugin
    INTERSECT
    EXCEPT
    reserved words
    identifier
    ROW
    stored routine
    TYPE OF and ROW TYPE OF
    stored routine
    Cursors
    DDL Fast Fail - WAIT/NOWAIT
    CHR()
    DELETE
    ROW TYPE OF
    supports the PROXY protocol
    proxy_protocol_networks
    Instant ADD COLUMN
    UPDATE statements with the same source and target
    ORDER BY
    LIMIT
    DATE_FORMAT(date, format, locale)
    CREATE PACKAGE
    CREATE PACKAGE BODY
    DROP PACKAGE
    sql_mode
    UPDATE
    ALTER TABLE ... ALGORITHM
    mysqldump
    INTERSECT
    EXCEPT
    reserved words
    identifier
    version_source_revision
    bind_address
    max_prepared_stmt_count
    proxy_protocol_networks
    DROP PACKAGE BODY
    SHOW CREATE PACKAGE
    SHOW CREATE PACKAGE BODY

    This page is licensed: CC BY-SA / Gnu FDL