unknown b9dc6ad7ab Bug#28211 RENAME DATABASE and query cache don't play nicely together
When all table blocks were removed from the query cache the client session
hung in a tight loop waiting on an impossible condition while consuming a lot
of CPU.

This patch also corrects an error which caused valid tables to sometimes be
removed from the query cache.


mysql-test/r/query_cache.result:
  Added test case to make sure server doesn't hang in a tight loop if last
  table block is removed from the cache.
mysql-test/t/query_cache.test:
  Added test case to make sure server doesn't hang in a tight loop if last
  table block is removed from the cache.
sql/sql_cache.cc:
  - Refactored loop over table blocks. The invalidate_table() function effects
    the elements over which we iterate. The previous stop condition was broken
    due to a compiler optimization error probably caused by the goto-statement
    pointing out of the loop. The effect being that tables_blocks was never
    checked for null values and thus the loop never terminated.
  - The new implementation uses two while loops instead of a goto-statement.
    The tables_blocks is a circular list which becomes null if the last table
    block is removed from the list.
2007-06-18 17:46:29 +02:00
2007-05-16 17:19:59 +04:00

This is a release of MySQL, a dual-license SQL database server.
MySQL is brought to you by the MySQL team at MySQL AB.

License information can be found in these files:
- For GPL (free) distributions, see the COPYING file and
  the EXCEPTIONS-CLIENT file.
- For commercial distributions, see the LICENSE.mysql file.


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 manual sections of special interest:

- If you are migrating from an older version of MySQL, please read the
  "Upgrading from..." section first!
- 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 Change History appendix.
- For the currently known bugs/misfeatures (known errors) see the Problems
  and Common Errors appendix.
- For a list of developers and other contributors, see the Credits
  appendix.

A local copy of the MySQL Reference Manual can be found in the Docs
directory in GNU Info format.  You can also browse the manual online or
download it in any of several formats at the URL given earlier in this
file.

************************************************************

IMPORTANT:

Bug or error reports should be sent to http://bugs.mysql.com.
Description
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.
Readme 1.6 GiB
Languages
MariaDB\ 71.9%
C++ 16.2%
C 10.5%
Shell 0.5%
Perl 0.4%
Other 0.3%