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ä de469a2f29 MDEV-14637: Fix hang due to persistent statistics
Similar to the tables SYS_FOREIGN and SYS_FOREIGN_COLS,
the tables mysql.innodb_table_stats and mysql.innodb_index_stats
are updated by the InnoDB internal SQL parser, which fails to
enforce the size limits of the data. Due to this, it is possible
for InnoDB to hang when there are persistent statistics defined on
partitioned tables where the total length of table name,
partition name and subpartition name exceeds the incorrectly
defined limit VARCHAR(64). That column should have been defined
as VARCHAR(199).

btr_node_ptr_max_size(): Interpret the VARCHAR(64) as VARCHAR(199),
to prevent a hang in the case that the upgrade script has not been
run.

dict_table_schema_check(): Ignore difference in the length of the
table_name column.

ha_innobase::max_supported_key_length(): For innodb_page_size=4k,
return a larger value so that the table mysql.innodb_index_stats
can be created. This could allow "impossible" tables to be created,
such that it is not possible to insert anything into a secondary
index when both the secondary key and the primary key are long,
but this is the easiest and most consistent way. The Oracle fix
would only ignore the maximum length violation for the two
statistics tables.

os_file_get_status_posix(), os_file_get_status_win32(): Handle
ENAMETOOLONG as well.

This patch is based on the following change in MySQL 5.7.23.
Not all changes were applied, and our variant allows persistent
statistics to work without hangs even if the table definitions
were not upgraded.

From fdbdce701ab8145ae234c9d401109dff4e4106cb Mon Sep 17 00:00:00 2001
From: Aditya A <aditya.a@oracle.com>
Date: Thu, 17 May 2018 16:11:43 +0530
Subject: [PATCH] Bug #26390736 THE FIELD TABLE_NAME (VARCHAR(64)) FROM
           MYSQL.INNODB_TABLE_STATS CAN OVERFLOW.

    In mysql.innodb_index_stats and mysql.innodb_table_stats
    tables the table name column didn't take into consideration
    partition names which can be more than varchar(64).
2018-08-03 08:33:38 +03:00
BUILD Disable rocksdb when building with ASAN 2018-01-27 14:39:33 +02:00
client Merge 10.1 into 10.2 2018-08-02 08:19:57 +03:00
cmake Merge 10.1 into 10.2 2018-08-02 08:19:57 +03:00
dbug Make debug multi thread safe 2017-10-26 13:49:55 +03:00
debian MDEV-14560 Extra engines enabled through additional config are not loaded on first installation 2018-06-24 15:18:36 +02:00
Docs Merge branch '10.0' into 10.1 2016-03-21 13:02:53 +01:00
extra Merge 10.1 into 10.2 2018-08-02 08:19:57 +03:00
include Merge 10.1 into 10.2 2018-08-02 08:19:57 +03:00
libmariadb@74fbbaefeb update C/C 2018-06-24 20:38:45 +02:00
libmysqld Merge remote-tracking branch 'origin/10.1' into 10.2 2017-12-22 12:23:39 +02:00
libservices MDEV-11663 Create services for functionality used by plugins 2017-04-27 19:12:38 +02:00
man Merge 10.1 into 10.2, with some MDEV-14799 fixups 2018-01-03 11:56:24 +02:00
mysql-test MDEV-14637: Fix hang due to persistent statistics 2018-08-03 08:33:38 +03:00
mysys Merge 10.1 into 10.2 2018-08-02 08:19:57 +03:00
mysys_ssl MDEV-14567: CRYPTO_set_mem_functions fails in FIPS mode 2018-02-07 11:45:01 +01:00
pcre Merge branch '10.1' into 10.2 2018-05-10 13:01:42 +02:00
plugin Merge branch '10.1' into 10.2 2018-06-28 22:46:12 +02:00
randgen/conf Group commit for maria engine. 2010-02-12 15:12:28 +02:00
scripts MDEV-14637: Fix hang due to persistent statistics 2018-08-03 08:33:38 +03:00
sql Merge 10.1 into 10.2 2018-08-02 08:19:57 +03:00
sql-bench MDEV-15448 Remove "innodb_additional_mem_pool_size" setting from my-innodb-heavy-4G.cnf file 2018-03-03 01:59:52 +02:00
sql-common Merge 10.1 into 10.2 2018-08-02 08:19:57 +03:00
storage MDEV-14637: Fix hang due to persistent statistics 2018-08-03 08:33:38 +03:00
strings Merge 10.1 into 10.2 2018-08-02 08:19:57 +03:00
support-files Merge 10.1 into 10.2 2018-08-02 08:19:57 +03:00
tests fix failing main.mysql_client_test test on 32bit 2018-05-15 12:10:48 +02:00
unittest MDEV-14014 Multi-Slave Replication Fail: bogus data in log event 2018-06-28 15:47:03 +02:00
vio MDEV-15596 10.2 doesn't work with openssl 1.1.1 2018-06-21 10:15:27 +02:00
win Fix 2 more VS2015 warnings 2018-02-19 15:22:24 +00:00
wsrep Prevent building WSREP without INNODB 2018-02-15 15:00:46 +00:00
zlib Build improvements and cleanups. 2017-09-08 18:22:15 +00:00
.gitattributes Merge branch '10.0' into 10.1 2018-05-05 14:01:59 +02:00
.gitignore Merge branch '10.1' into 10.2 2018-06-21 23:47:39 +02:00
.gitmodules Use https instead of ssh(git@) for rocksdb submodule. 2016-11-15 10:00:19 -05:00
.travis.compiler.sh travis: add clang-5.0 2017-08-07 10:05:01 +04:00
.travis.yml travis: osx - xcode 8.3 -> 9.1 2017-10-31 11:21:28 +04:00
appveyor.yml Add some hints for finding bison on its usual locations on Windows. 2018-02-14 17:01:07 +00:00
BUILD-CMAKE various documentation updates 2012-06-18 16:57:58 -04:00
CMakeLists.txt Merge 10.1 into 10.2 2018-08-02 08:19:57 +03:00
config.h.cmake Merge tag 'mariadb-5.5.60' into 5.5-galera 2018-04-24 13:34:57 +03:00
configure.cmake Merge tag 'mariadb-5.5.60' into 5.5-galera 2018-04-24 13:34:57 +03:00
COPYING Use a new version of "COPYING", the GPL text. 2010-03-04 14:26:27 +01:00
COPYING.thirdparty Correct FSF address 2017-03-10 18:21:29 +01:00
CREDITS Update contributors 2018-04-05 14:23:18 +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 various documentation updates 2012-06-18 16:57:58 -04:00
README.md Better Link Spacing 2018-06-01 12:29:37 +04:00
VERSION bump the VERSION 2018-06-26 11:04:57 -04:00

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. 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 Foundation and the MariaDB Corporation, 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-features/

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

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.

License:


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, COPYING.LESSER, and COPYING.thirdparty files.


Bug Reports:

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

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


Code status:

  • tests status travis-ci.org (10.2 branch)