MariaDB server is a community developed fork of MySQL server. Started by core members of the original MySQL team, MariaDB actively works with outside developers to deliver the most featureful, stable, and sanely licensed open SQL server in the industry.
  • MariaDB\ 71.8%
  • C++ 16.5%
  • C 10.3%
  • Shell 0.5%
  • Perl 0.4%
  • Other 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Yuchen Pei 5a3d98a36c
MDEV-24813 Signal full scan to storage engines.
When starting to do a full table/index scan without a WHERE or JOIN
condition, tell the storage engine so and the corresponding
ulong-truncated LIMIT.

Include an innodb implementation: added an innodb switch
table_lock_on_full_scan, so that when the switch is on, on receiving
the full scan signal from the sql layer, if the truncated LIMIT is
ULONG_MAX (likely no LIMIT), attempt to acquire a table lock.

Updated tests that have different results with the switch on.

The three deadlock_*_race tests cannot reach their DEBUG_SYNC race
under a table lock (it degenerates to a timeout), and the three I_S
tests only restate a lock-mode change already covered
by innodb_full_scan.test.

(Comment and code edited by Sergei Petrunia <sergey@mariadb.com> and
Thirunarayanan Balathandayuthapani <thiru@mariadb.com>)
2026-08-11 11:32:01 +10:00
.github Merge branch '11.8' into '12.3' 2026-07-30 11:41:55 +02:00
BUILD Disable flag -Wno-format-truncate in BUILD scripts 2026-02-10 00:03:02 +01:00
client Merge branch '13.0' into 'main' 2026-08-03 13:42:39 +02:00
cmake Merge branch '12.3' into '13.0' 2026-07-30 16:15:40 +02:00
dbug Merge branch '12.3' into 13.0 2026-05-22 09:52:05 +02:00
debian Merge branch '13.0' into 'main' 2026-08-03 13:42:39 +02:00
Docs Merge 11.8 to 12.3 2026-06-15 16:53:03 +02:00
extra Merge branch '13.0' into 'main' 2026-08-03 13:42:39 +02:00
include MDEV-24813 Signal full scan to storage engines. 2026-08-11 11:32:01 +10:00
libmariadb@5a6fe6016f MDEV-35254 post-review fixes 2026-07-06 13:44:56 +02:00
libmysqld MDEV-15621 Auto add RANGE COLUMNS partitions by interval 2026-08-04 15:04:06 +10:00
libservices MDEV-35254 Add get_current_thd() service function 2026-07-06 13:44:56 +02:00
man Merge 11.8 to 12.3 2026-06-15 16:53:03 +02:00
mysql-test MDEV-24813 Signal full scan to storage engines. 2026-08-11 11:32:01 +10:00
mysys Merge branch '12.3' into '13.0' 2026-07-30 16:15:40 +02:00
mysys_ssl MDEV-34712 Add support to sha2 and pbkdf2 key derivation in file_key_management 2025-04-28 13:43:32 +10:00
plugin Merge branch '13.0' into 'main' 2026-08-03 13:42:39 +02:00
randgen/conf Group commit for maria engine. 2010-02-12 15:12:28 +02:00
scripts Merge branch '13.0' into 'main' 2026-08-03 13:42:39 +02:00
sql MDEV-24813 Signal full scan to storage engines. 2026-08-11 11:32:01 +10:00
sql-bench Fix remaining typos 2025-04-29 11:18:00 +10:00
sql-common Merge 11.8 into 12.3 2026-06-29 07:40:04 +03:00
storage MDEV-24813 Signal full scan to storage engines. 2026-08-11 11:32:01 +10:00
strings Merge branch '12.3' into '13.0' 2026-07-30 16:15:40 +02:00
support-files Merge branch '13.0' into 'main' 2026-08-03 13:42:39 +02:00
tests Merge branch '13.0' into 'main' 2026-08-03 13:42:39 +02:00
tpool Merge 11.8 to 12.3 2026-06-15 16:53:03 +02:00
unittest Merge branch '13.0' into 'main' 2026-08-03 13:42:39 +02:00
vio Merge branch '11.8' into 12.0 2025-06-18 07:50:39 +02:00
win Merge branch '11.8' into '12.3' 2026-07-30 11:41:55 +02:00
wsrep-lib@5eeef4009d MDEV-38843: bump wsrep-lib on 10.11 to the commit-order fix 2026-07-07 12:23:16 +03:00
zlib Merge branch '12.3' into 13.0 2026-05-22 09:52:05 +02:00
.clang-format Remove duplicate key "Language" from .clang-format 2024-04-17 16:52:37 +02:00
.gitattributes Merge branch '10.5' into 10.6 2022-02-03 17:01:31 +01:00
.gitignore Merge branch '11.8' into '12.3' 2026-07-30 11:41:55 +02:00
.gitlab-ci.yml Merge 11.8 to 12.3 2026-06-15 16:53:03 +02:00
.gitmodules Merge branch '10.11' into '11.4' 2026-07-28 13:14:38 +02:00
appveyor.yml Merge remote-tracking branch 'github/bb-11.4-release' into bb-11.8-serg 2025-04-27 19:40:00 +02:00
BUILD-CMAKE Fix remaining typos 2025-04-29 11:18:00 +10:00
CMakeLists.txt Merge branch '11.4' into '11.8' 2026-07-29 12:27:46 +02:00
CODING_STANDARDS.md update CODING_STANDARDS.md for agent era 2026-06-17 16:46:39 +02:00
COMMUNITY_CONTRIBUTIONS.md MDEV-39456: Describe the external contributions process in more details 2026-05-11 13:49:30 +03:00
config.h.cmake MDEV-35461 Remove redundant checks for standard library functions 2026-04-02 10:36:09 +11:00
configure.cmake MDEV-35461 Remove redundant checks for standard library functions 2026-04-02 10:36:09 +11:00
CONTRIBUTING.md MDBF-1180: Fix errors in CONTRIBUTING.md 2026-06-23 20:05:20 +03:00
COPYING Update FSF Address 2019-05-11 21:29:06 +03:00
CREDITS MDEV-39584: update help sql tables and replace KB links 2026-05-15 13:30:21 +10:00
INSTALL-SOURCE MDEV-39584: update help sql tables and replace KB links 2026-05-15 13:30:21 +10:00
INSTALL-WIN-SOURCE MDEV-39584: update help sql tables and replace KB links 2026-05-15 13:30:21 +10:00
KNOWN_BUGS.txt MDEV-39584: update help sql tables and replace KB links 2026-05-15 13:30:21 +10:00
README.md Updated README.md to contain a more friendly version. 2026-08-04 15:11:59 +03:00
SECURITY.md Create SECURITY.md 2023-06-05 08:28:06 +10:00
THIRDPARTY Update THIRDPARTY license file to reflect reality 2025-04-18 23:16:46 +02:00
VERSION bump the VERSION 2026-05-29 15:34:03 -04:00

MariaDB Server

MariaDB Server is one of the most widely deployed open source relational databases. It is built by a global community of contributors together with the MariaDB Foundation and MariaDB plc, and it powers workloads from small applications to large-scale production systems.

MariaDB began as a fork of MySQL, led by the original MySQL developers, and it maintains a high degree of MySQL compatibility. It has since grown into a database with its own capabilities, including native vector search, multiple pluggable storage engines, synchronous clustering, and analytical features, while remaining a straightforward migration target for existing MySQL deployments.

Key features

  • Native vector search. A built-in VECTOR data type with approximate nearest-neighbour indexing (HNSW), available since MariaDB 11.8 with no extension required.
  • Pluggable storage engines. InnoDB (default for transactional workloads), Aria, MyRocks, ColumnStore for analytics, Spider for sharding, and S3 for archival, among others.
  • Replication and clustering. Asynchronous, semi-synchronous, and parallel replication with global transaction IDs, plus Galera synchronous multi-primary clustering.
  • Advanced SQL. Common table expressions and recursive CTEs, window functions, system-versioned (temporal) tables, sequences, and a broad set of JSON functions.
  • MySQL and Oracle compatibility. Wire-protocol and syntax compatibility with MySQL, plus an Oracle SQL mode supporting PL/SQL-style stored routines.
  • Spatial and full-text search. GIS data types and functions, and built-in full-text indexing.
  • Security. Role-based access control, pluggable authentication (ed25519, PAM, GSSAPI, and more), data-at-rest encryption, and TLS for connections.

Documentation

Releases

MariaDB Server follows a yearly long-term support (LTS) model alongside quarterly rolling releases. Binary LTS releases are maintained for three years and are recommended for production; rolling releases deliver new features sooner with a shorter support window.

For the current version and full history, see Releases and the MariaDB release calendar.

Installing

Packages and installation instructions for all supported platforms are available at https://mariadb.org/download/.

Building from source

To build MariaDB from source and run the test suite, follow the developer guide

It covers building the code correctly, running the MariaDB testing framework, and choosing the right branch to target for contributions.

Contributing

Contributions are welcome, from code and documentation to bug reports and reviews. See CONTRIBUTING.md to get started, and CODING_STANDARDS.md for code style. Contributors and community members are recognised in CREDITS.

Getting help

Licensing

MariaDB Server is licensed under version 2 of the GNU General Public License (GPLv2), without the "any later version" clause. This is inherited from MySQL. License information is in the COPYING file, and third-party license information is in the THIRDPARTY file.

About MariaDB Foundation

MariaDB is brought to you by the MariaDB Foundation and MariaDB plc. The MariaDB Foundation is the custodian of the MariaDB Server codebase, ensuring it stays open and that anyone can contribute. See CREDITS for details on the Foundation and the people developing MariaDB.

MySQL, the base of MariaDB, is a product and trademark of Oracle Corporation, Inc.