Category: Development
-
Do they even test this?!
That’s the question every tester dreads to hear, because it usually means we’ve let something really embarrassing slip into a release.
The real answer is, “Yes, we do,” though that doesn’t offer much comfort if you’re facing issues in production. Still, during quieter moments, people sometimes ask less rhetorically what kind of testing takes place in MariaDB. Let’s dive into that.
A path of a bugfix into a maintenance release
When a pull request (or an internal patch outside the […]
-
Per-table unique FOREIGN KEY constraint names – new feature in MariaDB 12.1
For historical reasons, the handling of FOREIGN KEY constraints in MariaDB Server is somewhat peculiar. Unlike CHECK constraints, which are being enforced at the query execution layer for all tables, FOREIGN KEY constraint definitions will simply be ignored unless the underlying storage engine supports them.
The storage engine is not only responsible for enforcing referential integrity between tables, but also storing the constraint definitions. Currently, InnoDB is the only storage engine that supports foreign key constraints, between persistent, non-partitioned tables.
-
Make JSON DEPTH unlimited – new feature in MariaDB 12.1
At some point, nearly every developer encounters a common challenge: working with deeply nested JSON only to run into an arbitrary depth limit imposed by the database. In our case, that hard cap was set at 32 levels — sufficient for many scenarios but too restrictive for more complex or dynamic data structures. To address this, we decided to remove the limitation entirely.
The database now supports JSON documents and JSON paths with virtually unlimited nesting! This change unlocks the […]
-
MariaDB Catalogs preview containers available
Get an early look at MariaDB Catalogs—our multi-tenant database feature. No compiling needed! Just pull the image from quay.io and set MARIADB_CATALOGS to get started. Try it out and help shape the future of MariaDB!
-
Deep dive into Clang sanitizer testing with MariaDB
MariaDB uses Clang’s memory, address, and undefined behavior sanitizers are used for identify coding flaws during the continuous development and testing process. MariaDB would like to share via an online event on how easy perform the same sanitizer checking.
The MemorySanitizer environment is particularly onerous to create. Because MariaDB use container based build and testing, we have an environment that can be re-used by anyone.
Our “Deep Dives” were once an internal skills transfer mechanism, however for the first time […]
-
Tell us how to DROP USER!

Shortly, we will start coding a task, for which we would appreciate your input: How would you like to DROP USER?
Why do we ask?
DROP user (originating in MySQL in 2004) always used to just drop the account from the privilege tables, but left all existing connections active. You can argue that this was questionable in 2004, but it’s really unexpected and confusing in 2025, with MariaDB being ubiquitous as it is.
So now we’re considering changing it.
But […]
-
Wrapping up the MariaDB Bucharest Meetup

This past Friday was reserved for our very own cozy event in Bucharest, planned by the romanian squad of the MariaDB Foundation. With an audience ranging from students just starting out on their journey up to seniors with experience in multiple database servers and AI, lots of interesting talks took place. We were glad to meet the Head of Domains and IT Technology of our gold sponsor, IONOS.
Although not his first visit in Romania, Monty’s attendance was a welcome […]
