MariaDB 11.3.0 preview release available

The MariaDB Foundation is pleased to announce the availability of MariaDB 11.3.0, a preview release in the MariaDB 11.3 series. MariaDB 11.3 is a short-term release and will be maintained for one year after its G.A (stable) release.

See the release notes for details.


Download MariaDB 11.3.0

Release Notes What is MariaDB 11.3?


Thanks, and enjoy MariaDB! …

MariaDB 11.2.0 preview release available

The MariaDB Foundation is pleased to announce the availability of MariaDB 11.2.0, a preview release in the MariaDB 11.2 series. MariaDB 11.2 is a short-term release and will be maintained for one year after its G.A (stable) release.

See the release notes and changelogs for details.


Download MariaDB 11.2.0

Release Notes What is MariaDB 11.2?


Thanks, and enjoy MariaDB! …

10.9 preview feature: SHOW ANALYZE and EXPLAIN FOR CONNECTION support

SHOW ANALYZE

If you ever had to do query performance troubleshooting with MariaDB, you should be
familiar with MariaDB’s ANALYZE for statements feature. It does what EXPLAIN ANALYZE does in some other database systems: ANALYZE query runs the query and produces EXPLAIN output, amended with the data from the query execution:

ANALYZE SELECT *
FROM orders, customer
WHERE
customer.c_custkey = orders.o_custkey AND
customer.c_acctbal < 0 AND
orders.o_totalprice > 200*1000
+—-+————-+———-+——+—————+————-+———+——————–+——–+——–+———-+————+————-+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | r_rows | filtered | r_filtered | Extra |
+—-+————-+———-+——+—————+————-+———+——————–+——–+——–+———-+————+————-+
| 1 | SIMPLE | customer | ALL | PRIMARY,…

10.9 preview feature: JSON path expression and JSON_OVERLAPS()

The MariaDB 10.9 preview releases introduce a MySQL compatibility syntax extension, range notation. The ‘last’ keyword was added in JSON path expression, as requested in MDEV-22224 and MDEV-27911. Additionally, negative indexes are now also supported. Range notation, implemented using the ‘to’ keyword, and the ‘last’ keyword, is basically an array element selector.

Syntax:

Range notation:
[M to N] selects a range of elements starting from index M to N.
Last keyword:
[last-N] / [last] selects the Nth from last element, and last element, respectively.

10.7 preview feature: CONVERT PARTITION

If you are using table partitioning, you have likely heard of the ALTER TABLE … EXCHANGE PARTITION … WITH TABLE … command. It existed in MariaDB since forever. But if you check the manual (any manual) or search the web, you will see that almost the only use case of it is converting a partition to a standalone non-partitoned table, or converting a standalone non-partitoned table into a partition.

And the usage was designed back then to be anything but obvious. To convert a partition to a table you need first to create an empty table with the same structure as a partition, then you exchange it with a partition, and then you drop the empty partition.

10.7 preview feature: Python-like string formatting

Sometimes there is a need to combine data from different columns into one string. For example,

SELECT CONCAT(first_name, ‘ ‘, last_name) FROM employees;

This doesn’t look too bad, but can quickly get out of hand, if you need to do something more complex than that. For example, let’s say, we also need to mention the salary here:

SELECT CONCAT(first_name, ‘ ‘, last_name, ‘ -‘, CAST(FORMAT(salary, 0) AS VARCHAR(10)), ‘ ‘, currency) FROM employees;

This preview shows a new feature for MariaDB 10.7 that was developed as a part of Google Summer of Code (MDEV-25015) by Alan Cueva, together with his mentor Vicențiu Ciorbaru.