Writing User-Defined Functions in Rust

One of the most straightforward ways to add functionality to MariaDB or MySQL server instances is by creating a user-defined function (UDF). These are compiled functions loaded from dynamic binaries that can be much more performant and flexible than what can be written in SQL, providing the same capabilities as builtin functions.

These UDFs are typically written in C or C++, but a library is now available that makes it easy to write them in Rust. This blog discusses some of the reasoning for writing this library, followed by a very basic usage example that doesn’t require any experience with the language.

Going for a Code of Conduct

It may be long overdue, but based on recent events, we have launched Code of Conduct project at MariaDB Foundation. Our aim is to get your feedback and define a CoC, ideally by end of January, if we see convergence.

In the meantime, if we see unacceptable behaviour on the MariaDB mailing list or elsewhere, we will take action. We want to extend our apology to those who have had unpleasant experiences, about which we have done nothing in the past.

As for the code of conduct wording, our goal is to keep it short. Lofty goals often trigger distractive debates;

Congratulations, MRDB – MariaDB plc!

Today, MariaDB Corporation announced that it completed its merger, landing on NYSE as “MRDB”. With MariaDB Corporation being our founding member as well as our primary code contributor, we want to congratulate what is now MariaDB plc for this remarkable achievement.

Joint goals

MariaDB Foundation and MariaDB Corporation, while independent entities, share a joint interest in the development and adoption of MariaDB Server. In the new scenario with what is now to be referred to as MariaDB plc being a publicly traded company, we expect further interest in MariaDB Server by the ecosystem and community.

MariaDB 10.11 is LTS

Important news: MariaDB 10.11, which just was declared RC, is a long-term maintenance version. The industry standard term to refer to that concept is LTS (as in long-term support), and we too use this term for the releases that get a significantly longer lifetime of bug fixes.

We are announcing MariaDB 10.11 as LTS for a number of reasons:

Firstly, the purpose of an LTS is to reassure users – and, in particular, Linux distros – that a certain version will receive regular updates long-term, for the lifetime of their product.

MariaDB 10.11.1 RC and 10.10.2 GA now available

The MariaDB Foundation is pleased to announce the availability of MariaDB 10.11.1, the first release candidate in the MariaDB 10.11 series, and MariaDB 10.10.2 the first generally available release in the short-term MariaDB 10.10 series.

See the release notes and changelogs for details.


Download MariaDB 10.11.1

Release Notes Changelog What is MariaDB 10.11?


Download MariaDB 10.10.2

Release Notes Changelog What is MariaDB 10.10?


MariaDB APT and YUM Repository Configuration Generator


Contributors to MariaDB 10.11.1

Addison G
Aleksey Midenkov (MariaDB Corporation)
Alexander Barkov (MariaDB Corporation)
Alexey Botchkov (MariaDB Corporation)
Andrei Elkin (MariaDB Corporation)
Andrew Hutchings (MariaDB Foundation)
Anel Husakovic (MariaDB Foundation)
Angelique Sklavounos (MariaDB Corporation)
anson1014
Brad Smith
Brandon Nesterenko (MariaDB Corporation)
Daniel Bartholomew (MariaDB Corporation)
Daniel Black (MariaDB Foundation)
Daniele Sciascia (Codership)
Dmitry Shulga (MariaDB Corporation)
Elena Stepanova (MariaDB Corporation)
Haidong Ji (Amazon)
Hartmut Holzgraefe (MariaDB Corporation)
Ian Gilfillan (MariaDB Foundation)
Igor Babaev (MariaDB Corporation)
Jan Lindström (MariaDB Corporation)
Julius Goryavsky (MariaDB Corporation)
kurt
Lawrin Novitsky (MariaDB Corporation)
Lena Startseva (MariaDB Corporation)
Luis Eduardo Oliveira Lizardo
Marko Mäkelä (MariaDB Corporation)
Michael Qin (Amazon)
Michael Widenius (MariaDB Corporation and MariaDB Foundation)
Mikhail Chalov
Nayuta Yanagisawa
Nikita Malyavin (MariaDB Corporation)
NTH19
Oleg Smirnov
Oleksandr Byelkin (MariaDB Corporation)
Otto Kekäläinen
Paragoumba
qggcs
rmfalves
Rucha Deodhar (MariaDB Corporation)
sawasa
Sergei Golubchik (MariaDB Corporation)
Sergei Petrunia (MariaDB Corporation)
Thirunarayanan Balathandayuthapani (MariaDB Corporation)
tmokmss
Tuukka Pasanen
Vicențiu Ciorbaru (MariaDB Foundation)
Vladislav Vaintroub (MariaDB Corporation)
Vlad Lesin
Zhibo Zhang
50 Contributors

Contributors to MariaDB 10.10.2

Addison G
Aleksey Midenkov (MariaDB Corporation)
Alexander Barkov (MariaDB Corporation)
Alexey Botchkov (MariaDB Corporation)
Andrei Elkin (MariaDB Corporation)
Andrew Hutchings (MariaDB Foundation)
Anel Husakovic (MariaDB Foundation)
Angelique Sklavounos (MariaDB Corporation)
anson1014
Brad Smith
Brandon Nesterenko (MariaDB Corporation)
Daniel Bartholomew (MariaDB Corporation)
Daniel Black (MariaDB Foundation)
Daniele Sciascia (Codership)
Dmitry Shulga (MariaDB Corporation)
Elena Stepanova (MariaDB Corporation)
Haidong Ji (Amazon)
Ian Gilfillan (MariaDB Foundation)
Igor Babaev (MariaDB Corporation)
Jan Lindström (MariaDB Corporation)
Julius Goryavsky (MariaDB Corporation)
kurt
Lawrin Novitsky (MariaDB Corporation)
Lena Startseva (MariaDB Corporation)
Marko Mäkelä (MariaDB Corporation)
Michael Widenius (MariaDB Corporation and MariaDB Foundation)
Mikhail Chalov
Nayuta Yanagisawa
Nikita Malyavin (MariaDB Corporation)
Oleg Smirnov
Oleksandr Byelkin (MariaDB Corporation)
Otto Kekäläinen
qggcs
Rucha Deodhar (MariaDB Corporation)
Sergei Golubchik (MariaDB Corporation)
Sergei Petrunia (MariaDB Corporation)
Thirunarayanan Balathandayuthapani (MariaDB Corporation)
tmokmss
Tuukka Pasanen
Vicențiu Ciorbaru (MariaDB Foundation)
Vladislav Vaintroub (MariaDB Corporation)
Vlad Lesin
Zhibo Zhang
43 Contributors

Thanks, and enjoy MariaDB! …

replicate_rewrite_db as a system variable in MariaDB

MariaDB 10.11.0, our latest preview release, features quite a number of improvements. The one we’ll talk about here is replicate-rewrite-db. This option has become a system variable from 10.11.0 based on MDEV-15530. Before this version it was just an option used by the mariadbd and mariadb-binlog binaries. There have been no behaviour changes with the option; it has simply become a dynamic variable.

How to try out this feature

The fastest way is to take MariaDB 10.11 for a spin in docker / podman (consult the blog mariadb-replication-using-containers) with the following commands:

To start a primary 10.11.0 MariaDB container, clone the directory, navigate to the cloned directory and run the following command:

docker run -d –rm –name mariadb-primary \
-v $PWD/config-files/primarycnf:/etc/mysql/conf.d:z \
-v $PWD/primaryinit:/docker-entrypoint-initdb.d:z \
-v $PWD/log-files-primary:/var/lib/mysql \
-e MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=True \
quay.io/mariadb-foundation/mariadb-devel:10.11

To start the replica/secondary run the command to start the mariadbd process as well as specify the replicate-rewrite-db option on the command line:

docker run -d –rm –name mariadb-secondary-1 \
-v $PWD/config-files/secondary-1:/etc/mysql/conf.d:z \
-v $PWD/secondaryinit:/docker-entrypoint-initdb.d:z \
-v $PWD/log-files-secondary-1:/var/lib/mysql \
-e MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=True \
quay.io/mariadb-foundation/mariadb-devel:10.11 –replicate-rewrite-db=’db1->db2′

Besides specifying the option as a command line argument, you can use a configuration file.

CfP for the MariaDB, MySQL and Friends devroom FOSDEM 2023 now open

FOSDEM 2023 is happily once again going to be an in-person event, and MariaDB will be participating as part of the MariaDB, MySQL and Friends devroom. The Call for Papers is now open.

FOSDEM 2023 will take place on Sat 4 to Sun 5 February 2023 at the ULB Solbosch Campus, Brussels, Belgium.

There are some changes in the organization to previous years. MySQL and MariaDB will each be responsible for its own track, so we will divide the devroom in two sub-tracks.

For the convenience of the speakers and participants, we will not mix the two sub-tracks, and you will have the possibility to follow either track you are interested in, or of course both. …

MariaDB 10.9.4, 10.8.6, 10.7.7, 10.6.11, 10.5.18, 10.4.27 and 10.3.37 now available

The MariaDB Foundation is pleased to announce the availability of MariaDB 10.9.4, MariaDB 10.8.6 and MariaDB 10.7.7, the latest Generally Available releases in their respective short-term series (maintained for one year from their first GA release dates), as well as MariaDB 10.6.11, MariaDB 10.5.18, MariaDB 10.4.27 and MariaDB 10.3.37, the latest stable release in their respective long-term series (maintained for five years).

See the release notes and changelogs for details.


Download MariaDB 10.9.4

Release Notes Changelog What is MariaDB 10.9?