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
Dmitry Shulga d7758debae MDEV-33218: Assertion `active_arena->is_stmt_prepare_or_first_stmt_execute() || active_arena->state == Query_arena::STMT_SP_QUERY_ARGUMENTS' failed in st_select_lex::fix_prepare_information
In case there is a view that queried from a stored routine or
a prepared statement and this temporary table is dropped between
executions of SP/PS, then it leads to hitting an assertion
at the SELECT_LEX::fix_prepare_information. The fired assertion
 was added by the commit 85f2e4f8e8
(MDEV-32466: Potential memory leak on executing of create view statement).
Firing of this assertion means memory leaking on execution of SP/PS.
Moreover, if the added assert be commented out, different result sets
can be produced by the statement SELECT * FROM the hidden table.

Both hitting the assertion and different result sets have the same root
cause. This cause is usage of temporary table's metadata after the table
itself has been dropped. To fix the issue, reload the cache of stored
routines. To do it  cache of stored routines is reset at the end of
execution of the function dispatch_command(). Next time any stored routine
be called it will be loaded from the table mysql.proc. This happens inside
the method Sp_handler::sp_cache_routine where loading of a stored routine
is performed in case it missed in cache. Loading is performed unconditionally
while previously it was controlled by the parameter lookup_only. By that
reason the signature of the method Sroutine_hash_entry::sp_cache_routine
was changed by removing unused parameter lookup_only.

Clearing of sp caches affects the test main.lock_sync since it forces
opening and locking the table mysql.proc but the test assumes that each
statement locks its tables once during its execution. To keep this invariant
the debug sync points with names "before_lock_tables_takes_lock" and
"after_lock_tables_takes_lock" are not activated on handling the table
mysql.proc
2024-03-14 15:43:03 +07:00
BUILD MDEV-25916: Compilation failed for compile-pentium64-gcov script 2023-11-20 15:51:33 +01:00
client MDEV-21864 Commands start-all-slaves and stop-all-slaves are not listed in mysqladmin help 2024-03-13 14:01:07 +01:00
cmake MDEV-26579 fixup 2024-01-26 00:15:13 +01:00
dbug Minimize unsafe C functions usage - replace strcat() and strcpy() (and strncat() and strncpy()) with custom safe_strcat() and safe_strcpy() functions 2023-01-20 15:18:52 +02:00
debian Fix typo 2023-11-28 16:30:04 +11:00
Docs Merge 10.3 into 10.4 2022-09-23 13:47:15 +03:00
extra Return back wolfssl v5.6.6 and new CC changed by 6b2cd78695 2024-02-12 12:43:08 +01:00
include MDEV-33426: Aria temptables wrong thread-specific memory accounting in slave thread 2024-02-16 12:48:30 +01:00
libmariadb@9155b19b46 Return back wolfssl v5.6.6 and new CC changed by 6b2cd78695 2024-02-12 12:43:08 +01:00
libmysqld Ensure that process "State" is properly cleaned after query execution 2023-11-07 10:07:30 +02:00
libservices MDEV-27595 Backport SQL service, introduced by MDEV-19275. 2023-11-05 23:35:31 +04:00
man Update innochecksum man page 2023-10-13 10:36:26 +11:00
mysql-test MDEV-33218: Assertion `active_arena->is_stmt_prepare_or_first_stmt_execute() || active_arena->state == Query_arena::STMT_SP_QUERY_ARGUMENTS' failed in st_select_lex::fix_prepare_information 2024-03-14 15:43:03 +07:00
mysys MDEV-28430: Fix memory barrier missing of lf_alloc on Arm64 2024-02-16 17:52:47 +02:00
mysys_ssl Fix double definition of CRYPTO_cleanup_all_ex_data 2023-07-31 17:44:07 +02:00
pcre MDEV-31727: pcre stack size not functioning on clang-16 2023-07-21 20:21:37 +10:00
plugin MDEV-33093 plugin/disks/information_schema_disks.cc doesn't compile on Solaris 2024-01-10 10:10:31 +01:00
randgen/conf
scripts wsrep scripts fixes for working on OpenBSD 2024-01-19 15:45:08 +11:00
sql MDEV-33218: Assertion `active_arena->is_stmt_prepare_or_first_stmt_execute() || active_arena->state == Query_arena::STMT_SP_QUERY_ARGUMENTS' failed in st_select_lex::fix_prepare_information 2024-03-14 15:43:03 +07:00
sql-bench Merge 10.2 into 10.3 2020-07-02 06:17:51 +03:00
sql-common MDEV-27595 Backport SQL service, introduced by MDEV-19275. 2023-11-05 23:35:31 +04:00
storage MDEV-33540 Avoid writes to TRX_SYS page during mariabackup operations 2024-03-08 16:02:38 +01:00
strings MDEV-32587 Allow json exponential notation starting with zero 2024-01-17 19:25:43 +05:30
support-files MDEV-30236 set TaskMax=99% in the MariaDB systemd unit 2023-11-16 09:03:03 +11:00
tests MDEV-32862 MYSQL struct in C/C and server differs 2023-11-25 10:33:32 +01:00
unittest MDEV-26743 InnoDB: CHAR+nopad does not work well 2023-11-10 06:17:23 +04:00
vio Merge branch '10.3' into 10.4 2022-10-26 14:55:47 +02:00
win MDEV-26579 fixup 2024-01-26 00:15:13 +01:00
wsrep-lib@a5d95f0175 MDEV-32346 Assertion failure sym_node->table != NULL in pars_retrieve_table_def on UPDATE 2024-03-06 14:04:49 +05:30
zlib Merge branch 'zlib v1.3' into 10.4 2023-10-18 20:39:48 +02:00
.clang-format .clang-format - do not sort include files. 2019-12-03 22:22:23 +01:00
.gitattributes MDEV-27494 Rename .ic files to .inl 2022-01-17 16:41:51 +01:00
.gitignore Adding .ccls-cache/ to .gitignore 2023-06-02 11:46:14 +10:00
.gitlab-ci.yml All-green GitLab CI in 10.4 branch 2023-05-19 13:21:34 +01:00
.gitmodules Revert "ignore changes in submodules when committing everything" 2023-02-21 23:22:56 +01:00
appveyor.yml Fix typo in appveyor.yml 2022-07-04 19:24:58 +02:00
BUILD-CMAKE
CMakeLists.txt MDEV-14959: Control over memory allocated for SP/PS 2023-09-02 13:00:00 +07:00
config.h.cmake MDEV-33093 plugin/disks/information_schema_disks.cc doesn't compile on Solaris 2024-01-10 10:10:31 +01:00
configure.cmake MDEV-31605 cmake/stack_direction.c does not work correctly on clang 16 2023-09-19 10:14:03 +03:00
CONTRIBUTING.md
COPYING
CREDITS CREDITS: re-instate Tencent Cloud 2023-01-25 16:44:26 +11:00
INSTALL-SOURCE
INSTALL-WIN-SOURCE
KNOWN_BUGS.txt
README.md Merge 10.3 into 10.4 2021-06-21 12:38:25 +03:00
THIRDPARTY
VERSION bump the VERSION 2024-02-08 09:05:18 +01:00

Code status:

  • Appveyor CI status ci.appveyor.com

MariaDB: drop-in replacement for MySQL

MariaDB is 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.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/library/new-and-old-releases/

https://mariadb.org/

As MariaDB is a full replacement of MySQL, the MySQL manual at http://dev.mysql.com/doc is generally applicable.

Help

More help is available from the Maria Discuss mailing list https://launchpad.net/~maria-discuss 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/

Bugs in the MySQL code can also be submitted at: https://bugs.mysql.com

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