MariaDB 10.3.0 Release Notes
The most recent release of MariaDB 10.3 is:MariaDB 10.3.39 Stable (GA) Download Now
DownloadRelease NotesChangelogOverview of 10.3
Release date: 16 Apr 2017
MariaDB 10.3 is the new development series of MariaDB. It is an evolution ofMariaDB 10.2 with several entirely new features not found anywhere else.
MariaDB 10.3.0 is an Alpha release.
Do not use alpha releases in production!
For an overview of MariaDB 10.3 see theWhat is MariaDB 10.3? page.
Thanks, and enjoy MariaDB!
Notable Changes
This is the first alpha release in the MariaDB 10.3 series. Alpha releases are useful for testing and planning, but should not be used in production.
Notable additions in this release include:
Syntax / General Features
INTERSECT and EXCEPT. These are both now reserved words and can no longer be used as an identifier without being quoted - MDEV-10141
ROW data type for stored procedure 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
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_readwrite_transaction_timeout system variables.
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. This work is in progress. See MDEV-10142 and MDEV-10764 for the current status and subtasks. The 10.3.0 release includes:
Providing compatibility for basic PL/SQL constructs - MDEV-10411
%TYPE in variable declarations - MDEV-10577
cursor%ROWTYPE in variable declarations - MDEV-12011
table%ROWTYPE in variable declarations - MDEV-12133
FOR loop statement - MDEV-10580
Implicit cursor FOR loop - MDEV-12098
Explicit cursor FOR LOOP - MDEV-10581
Cursors with parameters - MDEV-10597
Implicit cursor FOR LOOP for cursors with parameters - MDEV-12314
Explicit cursor attributes %ISOPEN, %ROWCOUNT, %FOUND, %NOTFOUND - MDEV-10582
SQL%ROWCOUNT - MDEV-10583
Variable declarations can go after cursor declarations - MDEV-10598
Predefined exceptions: TOO_MANY_ROWS, NO_DATA_FOUND, DUP_VAL_ON_INDEX - MDEV-10839
RAISE statement for predefined exceptions - MDEV-10840
User defined exceptions - MDEV-10587
SP control functions SQLCODE, SQLERRM - MDEV-10578
Triggers: Understand :NEW.c1 and :OLD.c1 instead of NEW.c1 and OLD.c1 - MDEV-10579
Dynamic SQL placeholders - MDEV-10801
Allow VARCHAR and VARCHAR2 without length as a data type of routine parameters and in RETURN clause - MDEV-10596
CAST(..AS VARCHAR(N)) - MDEV-11275
Anonymous blocks - MDEV-10655
GOTO statement - MDEV-10697
Allow SELECT UNIQUE as a synonym for SELECT DISTINCT - MDEV-12086
Do not require BEGIN..END in multi-statement exception handlers in THEN clause - MDEV-12088
Understand optional routine name after the END keyword - MDEV-12089
Inside routines the CALL keywoard is optional - MDEV-12107
Make the concatenation operator ignore NULL arguments - MDEV-11880
make the CONCAT function ignore NULL arguments - MDEV-12143
TRUNCATE TABLE t1 [ {DROP|REUSE} STORAGE ] - MDEV-10588
Providing compatibility for basic SQL data types - MDEV-10343
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 implemented in 10.3.0 do have a good visible effect:
An expression of the GEOMETRY data type is not allowed any more:
as an argument to functions ABS(), CEILING(), FLOOR(), ROUND(), SUM(), AVG(), VARIANCE(), CAST(AS..), as well as to the unary minus operator - MDEV-12303, MDEV-12239, MDEV-12199, MDEV-12001
as an argument to hybrid functions such as CASE, COALESCE, IF which have other arguments of the numeric or temporal data types - MDEV-11478
as an argument to comparison operators in combination with numeric and temporal data types - MDEV-11692
as an argument to operators
+
,-
,*
,/
,MOD
- MDEV-12238
Wrong result for INSERT INTO t1 (datetime_field) VALUES (hybrid_function_of_TIME_data_type) - MDEV-11331
Expect "Impossible where condition" for WHERE timestamp_field>=DATE_ADD(TIMESTAMP'9999-01-01 00:00:00',INTERVAL 1000 YEAR) - MDEV-11333
SP variables of temporal data types do not replicate correctly - MDEV-11815
Incorrect result for (time_expr BETWEEN timestamp_exp1 AND timestamp_expr2) - MDEV-11482
Wrong result for CASE on a mixture of signed and unsigned expressions - MDEV-11554
Wrong result for (int_expr IN (mixture of signed and unsigned expressions)) - MDEV-11497
CASE with a mixture of TIME and DATETIME returns a wrong result - MDEV-11555
SP variables of the SET data type erroneously allow values with comma - MDEV-11146
mysql_list_field() returns wrong default values for VIEW - MDEV-11672
System Variables
The following new system variables have been added:
Status Variables
The following new status variables have been added:
See the What is MariaDB 10.3? page for an overview of MariaDB 10.3.
Do not use alpha releases in production!
For a complete list of changes made in MariaDB 10.3.0, with links to detailed information on each push, see the changelog.
This page is licensed: CC BY-SA / Gnu FDL
Last updated
Was this helpful?