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.
Find a file
Marko Mäkelä c561f9e6e8 MDEV-24167: Use lightweight srw_lock for btr_search_latch
Many InnoDB rw-locks unnecessarily depend on the complex
InnoDB rw_lock_t implementation that support the SX lock mode
as well as recursive acquisition of X or SX locks.
One of them is the bunch of adaptive hash index search latches,
instrumented as btr_search_latch in PERFORMANCE_SCHEMA.
Let us introduce a simpler lock for those in order to
reduce overhead.

srw_lock: A simple read-write lock that does not support recursion.
On Microsoft Windows, this wraps SRWLOCK, only adding
runtime overhead if PERFORMANCE_SCHEMA is enabled.
On Linux (all architectures), this is implemented with
std::atomic<uint32_t> and the futex system call.
On other platforms, we will wrap mysql_rwlock_t with
zero runtime overhead.

The PERFORMANCE_SCHEMA instrumentation differs
from InnoDB rw_lock_t in that we will only invoke
PSI_RWLOCK_CALL(start_rwlock_wrwait) or
PSI_RWLOCK_CALL(start_rwlock_rdwait)
if there is an actual conflict.
2020-11-24 15:41:03 +02:00
.github Add a Github CODEOWNERS file to project 2020-08-14 09:03:34 +10:00
BUILD Fixed BUILD script to make plugin-file_key_management DYNAMIC 2020-09-25 12:44:04 +03:00
client Merge 10.5 into 10.6 2020-11-03 19:11:36 +02:00
cmake Merge 10.5 into 10.6 2020-11-23 17:57:58 +02:00
dbug Merge 10.4 into 10.5 2020-07-02 09:41:44 +03:00
debian Merge 10.5 into 10.6 2020-11-23 17:57:58 +02:00
Docs Clean up logcheck.ignore.* configs and unify MariaDB.org links with https 2020-04-23 10:07:07 +03:00
extra Merge 10.3 into 10.4 2020-11-03 14:49:17 +02:00
include MDEV-19237 Skip sending metadata when possible for binary protocol. 2020-11-23 19:28:29 +01:00
libmariadb@3cf45a2c57 MDEV-19237 Skip sending metadata when possible for binary protocol. 2020-11-23 19:28:29 +01:00
libmysqld Merge 10.3 into 10.4 2020-11-03 14:49:17 +02:00
libservices Merge branch '10.3' into 10.4 2019-05-19 20:55:37 +02:00
man Merge 10.5 into 10.6 2020-11-03 19:11:36 +02:00
mysql-test MDEV-24167: Use lightweight srw_lock for btr_search_latch 2020-11-24 15:41:03 +02:00
mysys Merge 10.5 into 10.6 2020-11-23 17:57:58 +02:00
mysys_ssl Merge 10.3 into 10.4 2020-10-22 13:27:18 +03:00
plugin Windows : reduce useless system checks 2020-11-12 21:26:34 +00:00
randgen/conf Group commit for maria engine. 2010-02-12 15:12:28 +02:00
scripts Merge 10.4 into 10.5 2020-11-13 21:54:21 +02:00
sql MDEV-19237 Skip sending metadata when possible for binary protocol. 2020-11-23 19:28:29 +01:00
sql-bench Merge branch '10.5' into 10.6 2020-07-04 11:53:26 +02:00
sql-common Merge 10.5 into 10.6 2020-11-02 12:49:19 +02:00
storage MDEV-24167: Use lightweight srw_lock for btr_search_latch 2020-11-24 15:41:03 +02:00
strings Merge 10.4 into 10.5 2020-11-03 16:24:47 +02:00
support-files Merge 10.5 into 10.6 2020-09-24 10:21:26 +03:00
tests Fix GCC warning/error. 2020-11-23 20:18:29 +01:00
tpool MDEV-16264 fixup: Clean up asynchronous I/O 2020-10-26 17:53:54 +02:00
unittest Merge branch '10.5' into 10.6 2020-11-14 20:05:35 +01:00
vio MDEV-23238 - remove async client from server code. 2020-09-01 21:30:52 +02:00
win MDEV-23462 Upgrade wizard not offered during 10.5 MSI installation on Windows 2020-08-12 21:38:03 +02:00
wsrep-lib@41a6e9dad7 Update wsrep-lib 2020-11-11 07:37:05 +02:00
zlib Fixed compiler warnings from gcc 7.4.1 2020-01-29 23:23:55 +02:00
.clang-format Merge 10.4 into 10.5 2019-12-27 21:17:16 +02:00
.gitattributes Merge branch '10.0' into 10.1 2018-05-05 14:01:59 +02:00
.gitignore Merge 10.5 into 10.6 2020-11-02 12:49:19 +02:00
.gitmodules Add stub for building ColumnStore 2020-06-19 21:04:17 +02:00
.travis.compiler.sh MDEV-19780 Remove the TokuDB storage engine 2020-05-14 10:11:47 +03:00
.travis.yml Travis-CI: Use new Ubuntu 20.04 as base, streamline and document 2020-10-15 07:56:16 +11:00
appveyor.yml Fix appvyeor's perl.exe path 2020-11-03 10:47:25 +01:00
BUILD-CMAKE Minor spelling fixes in code comments, docs and output 2018-01-12 16:49:02 +02:00
CMakeLists.txt Added support of WITH_GPROF to cmake 2020-08-20 19:34:11 +03:00
config.h.cmake MDEV-24125: linux large pages, linux/mman.h needed 2020-11-19 16:30:17 +11:00
configure.cmake MDEV-24125: linux large pages, linux/mman.h needed 2020-11-19 16:30:17 +11:00
CONTRIBUTING.md Add CONTRIBUTING file and modify README file about live QA regarding new contributors 2018-12-04 23:15:33 +04:00
COPYING Update FSF Address 2019-05-11 21:29:06 +03:00
CREDITS Update contributors 2018-09-10 16:47:44 +04:00
EXCEPTIONS-CLIENT MDEV-5645 MariaDB-5.5.35 - references are made to an "EXCEPTIONS-CLIENT" file but it does not exist 2014-05-31 13:18:56 +02:00
INSTALL-SOURCE Update AskMonty and Atlassian references to MariaDB 2016-03-08 15:24:01 +02:00
INSTALL-WIN-SOURCE Update AskMonty and Atlassian references to MariaDB 2016-03-08 15:24:01 +02:00
KNOWN_BUGS.txt Changed some MySQL names in messages to MariaDB 2018-12-09 20:49:05 +02:00
README.md Update README 2020-05-05 18:28:52 +02:00
THIRDPARTY Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
VERSION bump the VERSION 2020-11-11 10:20:34 -05:00

Code status:

  • Travis CI status travis-ci.org (10.5 branch)
  • Appveyor CI status ci.appveyor.com

MariaDB: The open source relational database

MariaDB was designed as a drop-in replacement of MySQL(R) with more features, new storage engines, fewer bugs, and better performance.

MariaDB is brought to you by the MariaDB Foundation and the MariaDB Corporation. Please read the CREDITS file for details about the MariaDB Foundation, and who is developing MariaDB.

MariaDB is developed by many of the original developers of MySQL who now work for the MariaDB Corporation, the MariaDB Foundation and by many people in the community.

MySQL, which is the base of MariaDB, is a product and trademark of Oracle Corporation, Inc. For a list of developers and other contributors, see the Credits appendix. You can also run 'SHOW authors' to get a list of active contributors.

A description of the MariaDB project and a manual can be found at:

https://mariadb.org

https://mariadb.com/kb/en/

https://mariadb.com/kb/en/mariadb-vs-mysql-features/

https://mariadb.com/kb/en/mariadb-versus-mysql-compatibility/

https://mariadb.com/kb/en/new-and-old-releases/

Help

More help is available from the Maria Discuss mailing list https://launchpad.net/~maria-discuss, MariaDB's Zulip instance, https://mariadb.zulipchat.com/ and the #maria IRC channel on Freenode.

Live QA for beginner contributors

MariaDB has a dedicated time each week when we answer new contributor questions live on Zulip and IRC. From 8:00 to 10:00 UTC on Mondays, and 10:00 to 12:00 UTC on Thursdays, anyone can ask any questions theyd like, and a live developer will be available to assist.

New contributors can ask questions any time, but we will provide immediate feedback during that interval.

Licensing


NOTE:

MariaDB is specifically available only under version 2 of the GNU General Public License (GPLv2). (I.e. Without the "any later version" clause.) This is inherited from MySQL. Please see the README file in the MySQL distribution for more information.

License information can be found in the COPYING file. Third party license information can be found in the THIRDPARTY file.


Bug Reports

Bug and/or error reports regarding MariaDB should be submitted at: https://jira.mariadb.org

For reporting security vulnerabilities see: https://mariadb.org/about/security-policy/

The code for MariaDB, including all revision history, can be found at: https://github.com/MariaDB/server