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
Davi Arnaut 92d5c4d774 Bug#33362: Query cache invalidation (truncate) may hang
if cached query uses many tables

The problem was that query cache would not properly cache
queries which used 256 or more tables but yet would leave
behind query cache blocks pointing to freed (destroyed)
data. Later when invalidating (due to a truncate) query cache
would attempt to grab a lock which resided in the freed data,
leading to hangs or undefined behavior.

This was happening due to a improper return value from the
function responsible for registering the tables used in the
query (so the cache can be invalidated later if one of the
tables is modified). The function expected a return value of
type boolean (char, 8 bits) indicating success (1) or failure
(0) but the number of tables registered (unsigned int, 32 bits)
was being returned instead. This caused the function to return
failure for cases where it had actually succeed because when
a type (unsigned int) is converted to a narrower type (char),
the excess bits on the left are discarded. Thus if the 8
rightmost bits are zero, the return value will be 0 (failure).

The solution is to simply return true (1) only if the number of
registered table is greater than zero and false (0) otherwise.
2008-06-03 10:59:46 -03:00
.bzr-mysql Merge from 5.0. Update version. 2008-05-23 00:25:21 +02:00
BitKeeper Merge trift2.:/MySQL/M51/mysql-5.1 2008-01-28 15:16:40 +01:00
BUILD Add variation of compile-pentium-valgrind-max which does not build ndb. 2008-05-27 12:35:35 -03:00
client Silence warning due to copying the address of a string constant 2008-05-06 10:37:36 -03:00
cmd-line-utils Merge pcg5ppc.xiphis.org:/Network/Servers/anubis.xiphis.org/home/antony/work/mysql-5.1-engines 2008-03-07 13:46:29 -08:00
config/ac-macros ha_ndbcluster.m4: 2008-02-26 18:43:48 +01:00
dbug Merge pilot.mysql.com:/data/msvensson/mysql/my50-bt-36463 2008-05-02 19:42:34 +02:00
Docs Makefile.am: 2008-04-08 11:44:18 +02:00
extra fixes for warnings and compile errors for the fix of bug 26243 2008-03-29 16:12:23 +02:00
include Bug#27430 "Crash in subquery code when in PS and table DDL changed after 2008-05-20 20:36:26 +04:00
libmysql Bug#27430 "Crash in subquery code when in PS and table DDL changed after 2008-05-20 20:36:26 +04:00
libmysql_r Makefile.am: 2007-10-08 20:55:44 +02:00
libmysqld Merge bk-internal.mysql.com:/home/bk/mysql-5.1 2008-05-20 11:38:17 +04:00
man my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
mysql-test Bug#33362: Query cache invalidation (truncate) may hang 2008-06-03 10:59:46 -03:00
mysys Avoid compilation problem on AIX. 2008-04-28 13:41:12 -04:00
netware Merge trift2.:/MySQL/M50/merge-5.0 2007-12-21 13:13:22 +01:00
plugin Use pkglibdir to simplify pkgplugindir, and fix the path in a 2008-01-02 13:00:46 +00:00
pstack Makefile.am, configure.in: 2007-09-27 21:39:23 +02:00
regex Fix for server bug experienced in Maria (wrong "Truncated incorrect <var_name> 2008-02-18 23:29:39 +01:00
scripts Merge mysql.com:/home/kent/bk/mysql-5.0-release-merge 2008-05-13 15:56:07 +02:00
server-tools Bug#34655 Compile error 2008-02-28 14:55:46 -03:00
sql Bug#33362: Query cache invalidation (truncate) may hang 2008-06-03 10:59:46 -03:00
sql-bench Fixed compiler warnings 2007-02-23 13:13:55 +02:00
sql-common Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug26294/my51-bug26294 2008-04-03 13:21:02 -04:00
storage Merge bk-internal.mysql.com:/home/bk/mysql-5.1 2008-05-20 11:38:17 +04:00
strings merged 5.0-bugteam to 5.1-bugteam 2008-05-28 17:18:24 +03:00
support-files Makefile.am: 2008-04-08 11:44:18 +02:00
tests Bug #36887: Typo in mysql_client_test.c uses bind instead of my_bind 2008-05-27 14:33:08 +03:00
unittest Fix for server bug experienced in Maria (wrong "Truncated incorrect <var_name> 2008-02-18 23:29:39 +01:00
vio Merge bk-internal.mysql.com:/home/bk/mysql-5.1-build 2008-02-21 19:53:37 -05:00
win Merge ramayana.hindu.god:/home/tsmith/m/bk/51 2007-09-28 10:55:28 -06:00
zlib CMakeLists.txt, README, configure.js 2007-08-03 21:51:37 +02:00
.bzrignore Merge magare.gmz:/home/kgeorge/mysql/work/B36011-take2-5.0-bugteam 2008-05-16 19:03:50 +03:00
.cvsignore Import changeset 2000-07-31 21:29:14 +02:00
CMakeLists.txt Merge mysql.com:/misc/mysql/mysql-5.0 2008-03-27 23:35:56 +01:00
configure.in Raise version number after cloning 5.1.25-rc 2008-05-21 09:59:58 +02:00
COPYING - manual.texi will be replaced with a manual written in DocBook/XML. This ChangeSet removes all 2005-04-13 11:51:38 +02:00
EXCEPTIONS-CLIENT EXCEPTIONS-CLIENT: 2007-03-14 18:28:16 +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
Makefile.am Upmerge of fix for 2008-06-03 12:21:48 +02:00
README make_binary_distribution.sh: 2006-11-07 22:26:37 +01: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.