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ä 2a77b2a510 MDEV-12353: Replace MLOG_*LIST_*_DELETE and MLOG_*REC_DELETE
No longer write the following redo log records:
MLOG_COMP_LIST_END_DELETE, MLOG_LIST_END_DELETE,
MLOG_COMP_LIST_START_DELETE, MLOG_LIST_START_DELETE,
MLOG_REC_DELETE,MLOG_COMP_REC_DELETE.

Each individual deleted record will be logged separately
using physical log records.

page_dir_slot_set_n_owned(),
page_zip_rec_set_owned(), page_zip_dir_delete(), page_zip_clear_rec():
Add the parameter mtr, and write redo log.

page_dir_slot_set_rec(): Remove. Replaced with lower-level operations
that write redo log when necessary.

page_rec_set_n_owned(): Replaces rec_set_n_owned_old(),
rec_set_n_owned_new().

rec_set_heap_no(): Replaces rec_set_heap_no_old(), rec_set_heap_no_new().

page_mem_free(), page_dir_split_slot(), page_dir_balance_slot():
Add the parameter mtr.

page_dir_set_n_slots(): Merge with the caller page_dir_split_slot().

page_dir_slot_set_rec(): Merge with the callers page_dir_split_slot()
and page_dir_balance_slot().

page_cur_insert_rec_low(), page_cur_insert_rec_zip():
Suppress the logging of lower-level operations.

page_cur_delete_rec_write_log(): Remove.

page_cur_delete_rec(): Do not tolerate mtr=NULL.

rec_convert_dtuple_to_rec_old(), rec_convert_dtuple_to_rec_comp():
Replace rec_set_heap_no_old() and rec_set_heap_no_new() with direct
access that does not involve redo logging.

mtr_t::memcpy(): Do allow non-redo-logged writes to uncompressed pages
of ROW_FORMAT=COMPRESSED pages.

buf_page_io_complete(): Evict the uncompressed page of
a ROW_FORMAT=COMPRESSED page after recovery. Because we no longer
write logical log records for deleting index records, but instead
write physical records that may refer directly to the compressed
page frame of a ROW_FORMAT=COMPRESSED page, and because on recovery
we will only apply the changes to the ROW_FORMAT=COMPRESSED page,
the uncompressed page frame can be stale until page_zip_decompress()
is executed.

recv_parse_or_apply_log_rec_body(): After applying MLOG_ZIP_WRITE_STRING,
ensure that the FIL_PAGE_TYPE of the uncompressed page matches the
compressed page, because buf_flush_init_for_writing() assumes that
field to be valid.

mlog_init_t::mark_ibuf_exist(): Invoke page_zip_decompress(), because
the uncompressed page after buf_page_create() is not necessarily
up to date.

buf_LRU_block_remove_hashed(): Bypass a page_zip_validate() check
during redo log apply.

recv_apply_hashed_log_recs(): Invoke mlog_init.mark_ibuf_exist()
also for the last batch, to ensure that page_zip_decompress() will
be called for freshly initialized pages.
2020-02-13 18:19:14 +02:00
BUILD Merge branch '10.3' into 10.4 2019-09-06 11:53:10 +02:00
client MDEV-21581 Helper functions and methods for CHARSET_INFO 2020-01-28 12:29:23 +04:00
cmake Merge branch '10.4' into 10.5 2020-02-12 08:55:17 +01:00
dbug Merge 10.2 into 10.3 2019-12-12 14:41:51 +02:00
debian Deb: Run 'wrap-and-sort -a' so comparison across releases is easier 2020-02-13 09:54:22 +00:00
Docs Switch Perl DBI scripts from DBD::mysql to DBD::MariaDB driver 2019-07-19 13:39:20 +03:00
extra MDEV-15058: Deprecate and ignore innodb_buffer_pool_instances 2020-02-12 14:45:21 +02:00
include MDEV-18650: Options deprecated in previous versions - thread_concurrency 2020-02-13 13:42:01 +02:00
libmariadb@8e9c311610 new C/C and --ssl-verify-server-cert tests 2020-01-23 10:46:21 +01:00
libmysqld MDEV-21702 Add a data type for privileges 2020-02-11 08:10:26 +04:00
libservices Merge branch '10.3' into 10.4 2019-05-19 20:55:37 +02:00
man Merge branch '10.4' into 10.5 2020-02-12 08:55:17 +01:00
mysql-test MDEV-12353: Replace MLOG_*LIST_*_DELETE and MLOG_*REC_DELETE 2020-02-13 18:19:14 +02:00
mysys MDEV-18650: Options deprecated in previous versions - thread_concurrency 2020-02-13 13:42:01 +02:00
mysys_ssl Update WolfSSL, remove older workarounds. 2019-07-28 13:45:15 +02:00
plugin MDEV-18650: Options deprecated in previous versions - multi_range_count 2020-02-13 13:42:01 +02:00
randgen/conf Group commit for maria engine. 2010-02-12 15:12:28 +02:00
scripts MDEV-18650: Options deprecated in previous versions - storage_engine 2020-02-13 13:42:01 +02:00
sql MDEV-18650: Options deprecated in previous versions - multi_range_count 2020-02-13 13:42:01 +02:00
sql-bench Merge 10.4 into 10.5 2019-12-16 07:47:17 +02:00
sql-common Merge 10.4 into 10.5 2020-01-28 14:17:09 +02:00
storage MDEV-12353: Replace MLOG_*LIST_*_DELETE and MLOG_*REC_DELETE 2020-02-13 18:19:14 +02:00
strings Merge 10.4 into 10.5 2020-02-07 08:51:20 +02:00
support-files Merge branch '10.4' into 10.5 2020-02-12 08:55:17 +01:00
tests MDEV-12684 Show what config file a sysvar got a value from 2019-10-14 10:29:30 +02:00
tpool Fix compilation error due to type mismatch in tpool_generic.cc 2020-02-13 13:42:01 +02:00
unittest Merge 10.4 into 10.5 2020-02-07 08:51:20 +02:00
vio Fix warning when compiling with OpenSSL. 2019-09-09 13:52:30 +02:00
win Merge branch '10.4' into 10.5 2019-11-27 16:02:34 +01:00
wsrep-lib@a17b65a25f Wsrep position not updated in InnoDB after certification failures (#1432) 2020-01-14 07:33:02 +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 branch '10.4' into 10.5 2020-02-12 08:55:17 +01:00
.gitmodules Fix github urls of submodules 2019-07-02 17:25:36 +04:00
.travis.compiler.sh travis: use galera-4 in 10.4 branch (#1226) 2019-03-14 08:20:32 +02:00
.travis.yml travis: use galera-4 in 10.4 branch (#1226) 2019-03-14 08:20:32 +02:00
appveyor.yml Appveyor configuration and addition of badge 2019-05-09 10:56:15 +02:00
BUILD-CMAKE Minor spelling fixes in code comments, docs and output 2018-01-12 16:49:02 +02:00
CMakeLists.txt libpmem cmake macros 2020-02-04 23:23:50 +04:00
config.h.cmake MDEV-14024 PCRE2. 2019-12-21 10:34:02 +01:00
configure.cmake MDEV-21082: isnan/isinf compilation errors, isfinite warnings on MacOS 2019-11-19 16:28:15 +03: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 Changed Travis to 10.5 2020-01-27 10:37:32 +02:00
THIRDPARTY Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
VERSION bump the VERSION 2020-01-27 15:12:05 -05:00

Code status:

  • Travis CI status travis-ci.org (10.5 branch)
  • 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