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
Rex Johnston 88aca3ac24 MDEV-29360 Crash when pushing condition with always false IS NULL into derived
When a condition containing an always FALSE range part is pushed
down into a derived table, an enclosed outer reference can cause
a null pointer crash.  An example

SELECT * FROM (SELECT id  FROM t1 GROUP BY id) dt1, (SELECT id FROM t2) dt2, t3
  WHERE dt2.id = t3.id AND dt1.id BETWEEN 0 AND (dt2.id IS NULL);

is considered as one that can be pushed into the derived table dt1
because the expression (dt2.id IS NULL) is identified as always false.
On the on other hand the condition still contains a reference to a
column of the table dt2. When pushing the condition to the where clause
of the derived table dt1 a copy of it is created and this copy is
transformed to be used in the new where clause. When the transformation
procedure encounters a reference dt2.id it crashes the server as only
the references to the columns used in the group by list of the
specification of dt1 or those equal to them are expected in the
condition that can be pushed into the where clause of the derived table.

Based on patch by Igor Babaev.
2025-07-22 12:38:15 +11:00
.github Merge 10.6 into 10.9 2023-05-19 15:11:06 +03:00
BUILD Merge branch '10.6' into 10.11 2024-04-26 08:02:49 +02:00
client cleanup: select ... into tests 2025-07-17 09:18:18 +02:00
cmake MDEV-36234: Add innodb_linux_aio 2025-06-23 13:51:52 +03:00
dbug Merge 10.6 into 10.8 2023-02-10 13:43:53 +02:00
debian MDEV-21654 binary library file pam_mariadb_mtr.so installed among test data files 2025-07-17 09:18:18 +02:00
Docs Merge 10.4 into 10.5 2022-09-26 13:34:38 +03:00
extra MDEV-22250 InnoDB: Failing assertion: opt_no_lock during mariabackup --backup 2025-07-15 15:54:05 +05:30
include MDEV-37232 - fix embedded build on Windows 2025-07-17 20:14:38 +02:00
libmariadb@55abb32038 new CC 2025-04-20 20:48:21 +02:00
libmysqld MDEV-36234: Add innodb_linux_aio 2025-06-23 13:51:52 +03:00
libservices Merge 10.6 into 10.11 2024-02-08 15:04:46 +02:00
man Merge branch '10.6' into 10.11 2024-07-22 15:14:50 +02:00
mysql-test MDEV-29360 Crash when pushing condition with always false IS NULL into derived 2025-07-22 12:38:15 +11:00
mysys MDEV-36753 Assertion `str[strlen(str)-1] != '\n'' failed in my_message_sql upon REPAIR .. USE_FRM with encryption enabled 2025-07-17 09:18:17 +02:00
mysys_ssl MDEV-35838 libressl support differences in CRYPTO_set_mem_functions 2025-01-14 12:13:22 +11:00
plugin MDEV-21654 binary library file pam_mariadb_mtr.so installed among test data files 2025-07-17 09:18:18 +02:00
randgen/conf Group commit for maria engine. 2010-02-12 15:12:28 +02:00
scripts MDEV-34926: mysql-install-db suggests a deprecated procedure 2025-07-17 09:18:18 +02:00
sql MDEV-29360 Crash when pushing condition with always false IS NULL into derived 2025-07-22 12:38:15 +11:00
sql-bench Updated sql-bench to run with PostgreSQL 14.9 2023-09-09 15:14:45 +03:00
sql-common Merge branch '10.6' into 10.11 2025-01-30 11:55:13 +01:00
storage MDEV-37263 Hang or crash when shrinking innodb_buffer_pool_size 2025-07-18 10:06:33 +03:00
strings MDEV-36765: JSON Histogram cannot handle >1 byte characters 2025-06-09 21:15:30 +03:00
support-files MDEV-36738: mariadb@.service incorrectly changing pam ownership in mariadb-install-db 2025-06-25 20:54:22 +10:00
tests Merge branch '10.6' into 10.11 2025-04-26 10:47:03 +02:00
tpool MDEV-36753 Assertion `str[strlen(str)-1] != '\n'' failed in my_message_sql upon REPAIR .. USE_FRM with encryption enabled 2025-07-17 09:18:17 +02:00
unittest MDEV-18030 waiting_threads-t is disabled 2025-07-17 09:18:18 +02:00
vio Merge branch '10.6' into 10.11 2025-05-26 16:59:32 +02:00
win MDEV-26235 Install 64bit heidisql on 64bit Windows 2025-07-07 13:07:42 +02:00
wsrep-lib@e55f01ce1e MDEV-36422 Build fails with cmake 4.0.0 due to wsrep 2025-04-10 13:05:19 +02:00
zlib Merge branch 'merge-zlib' (1.3.1) into 10.4 2024-04-26 13:50:03 +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 10.6 into 10.11 2025-05-21 07:36:35 +03:00
.gitlab-ci.yml Merge branch '10.6' into 10.11 2024-07-22 15:14:50 +02:00
.gitmodules Merge remote-tracking branch '10.4' into 10.5 2023-03-31 21:32:41 +02:00
appveyor.yml Fix appveyor config 2025-04-18 19:53:55 +02:00
BUILD-CMAKE Minor spelling fixes in code comments, docs and output 2018-01-12 16:49:02 +02:00
CMakeLists.txt MDEV-37052: JSON_TABLE stack overflow handling errors 2025-07-05 10:44:07 +10:00
config.h.cmake Cleanup CMake code (Windows-specific) 2025-04-04 08:58:40 +02:00
configure.cmake Merge branch '10.6' into 10.11 2024-10-29 15:24:38 +01:00
CONTRIBUTING.md Remove mention of Freenode 2021-09-22 07:15:08 +02:00
COPYING Update FSF Address 2019-05-11 21:29:06 +03:00
CREDITS Update sponsors 2024-08-12 09:32:30 +01: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 for branch choice 2024-05-29 13:49:32 +01:00
THIRDPARTY Merge branch '10.6' into 10.11 2024-02-01 18:36:14 +01:00
VERSION bump the VERSION 2025-05-22 10:23:36 -04:00

Code status:

  • Appveyor CI status ci.appveyor.com

MariaDB: The innovative open source 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/

Getting the code, building it and testing it

Refer to the following guide: https://mariadb.org/get-involved/getting-started-for-developers/get-code-build-test/ which outlines how to build the source code correctly and run the MariaDB testing framework, as well as which branch to target for your contributions.

Help

More help is available from the Maria Discuss mailing list https://lists.mariadb.org/postorius/lists/discuss.lists.mariadb.org/ and MariaDB's Zulip instance, https://mariadb.zulipchat.com/

Licensing


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