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
Inaam Rana d9a3a6ed19 Bug#11759044 - 51325: DROPPING AN EMPTY INNODB TABLE TAKES A LONG TIME
WITH LARGE BUFFER POOL

(Note: this a backport of revno:3472 from mysql-trunk)

rb://845
approved by: Marko

  When dropping a table (with an .ibd file i.e.: with
  innodb_file_per_table set) we scan entire LRU to invalidate pages from
  that table. This can be painful in case of large buffer pools as we hold
  the buf_pool->mutex for the scan. Note that gravity of the problem does
  not depend on the size of the table. Even with an empty table but a
  large and filled up buffer pool we'll end up scanning a very long LRU
  list.
  
  The fix is to scan flush_list and just remove the blocks belonging to
  the table from the flush_list, marking them as non-dirty. The blocks
  are left in the LRU list for eventual eviction due to aging. The
  flush_list is typically much smaller than the LRU list but for cases
  where it is very long we have the solution of releasing the
  buf_pool->mutex after scanning 1K pages.
  
  buf_page_[set|unset]_sticky(): Use new IO-state BUF_IO_PIN to ensure
  that a block stays in the flush_list and LRU list when we release
  buf_pool->mutex. Previously we have been abusing BUF_IO_READ to achieve
  this.
2011-12-07 09:12:53 -05:00
.bzr-mysql post-merge fix 2011-09-21 12:43:02 +02:00
BUILD Updated/added copyright headers 2011-06-30 17:46:53 +02:00
client Build broken for gcc 4.5.1 in optimized mode. 2011-11-29 15:52:47 +01:00
cmake merge from 5.5.16 2011-09-21 12:40:41 +02:00
cmd-line-utils Merge mysql-5.1 -> mysql-5.5 2011-11-18 13:57:10 +02:00
dbug Bug#12779790 COMPILATION FAILS OS X 10.7 - IMPLICIT DECLARATION OF 2011-07-21 17:45:38 +02:00
Docs WL#5665: Removal of the autotools-based build system 2010-11-20 12:47:50 -02:00
extra Merge mysql-5.1 to mysql-5.5. 2011-08-22 17:12:27 +03:00
include Bug#11761576 54082: HANDLE_SEGFAULT MAKES USE OF UNSAFE FUNCTIONS 2011-12-02 14:16:48 +01:00
libmysql Bug#13101974 SLAVE CAN'T CONNECT AS REPLICATION USER USING WINDOWS AUTH PLUGIN 2011-11-17 12:34:52 +01:00
libmysqld Bug#11761576 54082: HANDLE_SEGFAULT MAKES USE OF UNSAFE FUNCTIONS 2011-12-02 14:16:48 +01:00
libservices Updated/added copyright headers 2011-06-30 17:46:53 +02:00
man Exclude NDB man pages from a source tarball, 2011-10-04 12:28:30 +02:00
mysql-test Bug#11759044 - 51325: DROPPING AN EMPTY INNODB TABLE TAKES A LONG TIME 2011-12-07 09:12:53 -05:00
mysys Bug#11761576 54082: HANDLE_SEGFAULT MAKES USE OF UNSAFE FUNCTIONS 2011-12-02 14:16:48 +01:00
packaging/WiX Updated/added copyright headers 2011-06-30 17:46:53 +02:00
plugin merge from 5.5.16 2011-09-21 12:40:41 +02:00
regex Merge from mysql-5.1 for bug#58026. 2011-02-04 10:59:55 +06:00
scripts fix for bug 11748060/34981 2011-11-17 09:13:43 +01:00
sql Bug#13013970 MORE CRASHES IN FIELD_BLOB::GET_KEY_IMAGE 2011-12-05 15:42:45 +01:00
sql-bench Updated/added copyright headers 2011-06-30 17:46:53 +02:00
sql-common Updated/added copyright headers 2011-06-30 17:46:53 +02:00
storage Bug#11759044 - 51325: DROPPING AN EMPTY INNODB TABLE TAKES A LONG TIME 2011-12-07 09:12:53 -05:00
strings merge 5.1-security => 5.5-security 2011-10-14 11:14:44 +02:00
support-files Merge the changes of 5.5.17 back into main 5.5 2011-10-19 13:39:43 +02:00
tests Auto-merge from mysql-5.1-security. 2011-10-20 18:29:49 +04:00
unittest Bug#13030056 62533: UNITTEST/MYSYS/MY_ATOMIC-T.C DOES NOT 2011-10-03 09:31:55 +02:00
vio Updated/added copyright headers 2011-07-04 01:25:49 +02:00
win Updated/added copyright headers 2011-06-30 17:46:53 +02:00
zlib WL#5665: Removal of the autotools-based build system 2010-11-20 12:47:50 -02:00
.bzrignore removed some duplicate/redundant entries from .bzrignore 2011-09-29 12:30:14 +02:00
BUILD-CMAKE Updated/added copyright headers 2011-06-30 17:46:53 +02:00
CMakeLists.txt BUG#12549572 : CMake file does not include gcov option 2011-05-12 18:22:14 -04:00
config.h.cmake Bug#12779790 COMPILATION FAILS OS X 10.7 - IMPLICIT DECLARATION OF 2011-07-21 17:45:38 +02:00
configure.cmake Bug#12779790 COMPILATION FAILS OS X 10.7 - IMPLICIT DECLARATION OF 2011-07-21 17:45:38 +02:00
COPYING Use a new version of "COPYING", the GPL text. 2010-03-04 14:26:27 +01:00
INSTALL-SOURCE ReadMe.txt, INSTALL-WIN-SOURCE, INSTALL-BINARY, INSTALL-SOURCE: 2007-11-23 10:15:55 +01:00
INSTALL-WIN-SOURCE ReadMe.txt, INSTALL-WIN-SOURCE, INSTALL-BINARY, INSTALL-SOURCE: 2007-11-23 10:15:55 +01:00
README Removed the "Third-Party Component Notices" part from README 2011-03-16 23:11:25 +01:00
VERSION Bumped version number to 5.5.20 2011-11-23 12:33:59 +01:00

MySQL Server 5.5

This is a release of MySQL, a dual-license SQL database server.
For the avoidance of doubt, this particular copy of the software 
is released under the version 2 of the GNU General Public License. 
MySQL is brought to you by Oracle.

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

License information can be found in the COPYING file.

MySQL FOSS License Exception
We want free and open source software applications under certain
licenses to be able to use specified GPL-licensed MySQL client
libraries despite the fact that not all such FOSS licenses are
compatible with version 2 of the GNU General Public License.  
Therefore there are special exceptions to the terms and conditions 
of the GPLv2 as applied to these client libraries, which are 
identified and described in more detail in the FOSS License 
Exception at 
<http://www.mysql.com/about/legal/licensing/foss-exception.html>.

This distribution may include materials developed by third
parties. For license and attribution notices for these
materials, please refer to the documentation that accompanies
this distribution (see the "Licenses for Third-Party Components"
appendix) or view the online documentation at 
<http://dev.mysql.com/doc/>.

GPLv2 Disclaimer
For the avoidance of doubt, except that if any license choice
other than GPL or LGPL is available it will apply instead, 
Oracle elects to use only the General Public License version 2 
(GPLv2) at this time for any software where a choice of GPL 
license versions is made available with the language indicating 
that GPLv2 or any later version may be used, or where a choice 
of which version of the GPL is applied is otherwise unspecified.

For further information about MySQL or additional documentation, 
see:
- The latest information about MySQL: http://www.mysql.com
- The current MySQL documentation: http://dev.mysql.com/doc

Some Reference Manual sections of special interest:
- If you are migrating from an older version of MySQL, please 
  read the "Upgrading from..." section.
- To see what MySQL can do, take a look at the features section.
- For installation instructions, see the Installing and Upgrading
  chapter.
- For the new features/bugfix history, see the MySQL Change History 
  appendix.

You can browse the MySQL Reference Manual online or download it 
in any of several formats at the URL given earlier in this file.
Source distributions include a local copy of the manual in the
Docs directory.