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.
  • MariaDB\ 71.8%
  • C++ 16.4%
  • C 10.4%
  • Shell 0.5%
  • Perl 0.4%
  • Other 0.3%
Find a file
unknown cf2188ca39 Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
1.) Added a new option to mysql_lock_tables() for ignoring FLUSH TABLES.
Used the new option in create_table_from_items().
It is necessary to prevent the SELECT table from being reopend.
It would get new storage assigned for its fields, while the
SELECT part of the command would still use the old (freed) storage.
2.) Protected the CREATE TABLE and CREATE TABLE ... SELECT commands
against a global read lock. This prevents a deadlock in
CREATE TABLE ... SELECT in conjunction with FLUSH TABLES WITH READ LOCK
and avoids the creation of new tables during a global read lock.
3.) Replaced set_protect_against_global_read_lock() and
unset_protect_against_global_read_lock() by
wait_if_global_read_lock() and start_waiting_global_read_lock()
in the INSERT DELAYED handling.


mysql-test/r/create.result:
  Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
  Added test results.
mysql-test/t/create.test:
  Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
  Added tests which do not require concurrency.
sql/lock.cc:
  Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
  Added a new option to mysql_lock_tables() for ignoring FLUSH TABLES.
  Changed the parameter list.
  Removed two unnecessary functions. Their functionality is included in
  wait_if_global_read_lock() and start_waiting_global_read_lock().
sql/mysql_priv.h:
  Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
  Changed the declaration of mysql_lock_tables().
  Added definitions for the new options.
sql/sql_acl.cc:
  Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
  Adjusted mysql_lock_tables() calls to the new argument list.
sql/sql_base.cc:
  Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
  Adjusted mysql_lock_tables() calls to the new argument list.
sql/sql_handler.cc:
  Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
  Adjusted mysql_lock_tables() calls to the new argument list.
sql/sql_insert.cc:
  Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
  Replaced set_protect_against_global_read_lock() and
  unset_protect_against_global_read_lock() by
  wait_if_global_read_lock() and start_waiting_global_read_lock()
  in the INSERT DELAYED handling.
  Adjusted mysql_lock_tables() calls to the new argument list.
sql/sql_parse.cc:
  Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
  Protected the CREATE TABLE and CREATE TABLE ... SELECT commands
  against a global read lock. This prevents a deadlock in
  CREATE TABLE ... SELECT in conjunction with FLUSH TABLES WITH READ LOCK
  and avoids the creation of new tables during a global read lock.
sql/sql_table.cc:
  Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
  Adjusted mysql_lock_tables() calls to the new argument list.
  Used the new option in create_table_from_items().
2005-05-31 11:08:14 +02:00
bdb Distribution cleanups: 2003-04-11 17:07:58 +02:00
BitKeeper Bug#8191 - SELECT INTO OUTFILE insists on FROM clause 2005-05-08 22:56:58 +01:00
BUILD - typo fix in BUILD/compile-dist 2005-05-07 01:25:20 +02:00
client In order not to conflict with a Linux kernel header 2005-04-14 11:13:08 +05:00
dbug Added checking of return value from my_once_alloc() in charset 2003-12-10 00:00:20 +02:00
div Update copyright 2001-12-06 14:10:51 +02:00
Docs Updated Docs/Makefile.am: 2005-04-19 13:33:38 +02:00
extra A fix (bug #7971: set_bit/clear_bit names conflict w/Linux kernel headers >= 2.6.9-rcxx) 2005-02-01 18:35:09 +04:00
fs - replaced C++-style comments in .c file (Please try to avoid this, as 2003-08-28 01:35:58 +02:00
heap A fix (bug #6878: Crash with engine=memory). 2004-12-02 14:34:53 +04:00
include Prevent a collision with the system's '#define errno ...' by guarding the variable declaration. 2005-03-04 10:22:50 +01:00
innobase InnoDB: Check all referencing tables in DROP DATABASE (Bug #10335). 2005-05-26 15:42:24 +03:00
isam Fixes for bugs reported by Stefano Di Paola (stefano.dipaola@wisec.it) 2005-03-03 19:51:29 +01:00
libmysql Backport fix for escaping multibyte characters. (Bug #9864) 2005-05-07 07:50:04 -07:00
libmysql_r - rename: EXCEPTIONS->EXCEPTIONS-CLIENT 2004-08-05 17:05:11 +02:00
libmysqld - added missing copyright headers to several Makefile.am's (noticed 2005-04-19 17:00:05 +02:00
man mysqldump.1.in: 2005-05-11 12:14:46 -05:00
merge Fixes for bugs reported by Stefano Di Paola (stefano.dipaola@wisec.it) 2005-03-03 19:51:29 +01:00
myisam Fixed wrong buffer usage for auto-increment key with blob part that caused CHECK TABLE to report that the table was wrong. (Bug #10045) 2005-05-13 23:08:29 +03:00
myisammrg Fixes for bugs reported by Stefano Di Paola (stefano.dipaola@wisec.it) 2005-03-03 19:51:29 +01:00
mysql-test Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement. 2005-05-31 11:08:14 +02:00
mysys A fix for Netware. 2005-04-05 13:15:04 +03:00
netware Netware build environment script related patch. 2005-03-08 18:18:53 +02:00
NEW-RPMS Import changeset 2000-07-31 21:29:14 +02:00
os2 - Updated OS/2 port with files provided by Yuri Dario <mc6530@mclink.it> 2002-07-15 18:26:11 +02:00
pstack fixed bug #3200 "cannot compile with pstack" 2004-03-19 18:38:25 +04:00
readline Portability fix. 2002-08-21 23:31:33 +03:00
regex Added checking of return value from my_once_alloc() in charset 2003-12-10 00:00:20 +02:00
scripts - manual.texi will be replaced with a manual written in DocBook/XML. This ChangeSet removes all 2005-04-13 11:51:38 +02:00
sql Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement. 2005-05-31 11:08:14 +02:00
sql-bench Bug fixes: 2004-05-20 13:54:52 +03:00
SSL Regenerated expired CA certificate and signed dependant certificates 2003-09-12 20:41:12 +04:00
strings Bug #5447 Select does not find records 2004-09-09 12:23:10 +05:00
support-files Added a missing "make clean" to the RPM "spec" file which had caused the original 4.1.12 RPMs to be broken. 2005-05-25 16:24:07 +02:00
tests Ensure that privileges are tested properly for multi-table-updates. 2004-02-03 19:17:23 +01:00
tools - added missing copyright headers to several Makefile.am's (noticed 2005-04-19 17:00:05 +02:00
VC++Files Adding a file that was missed during the first push 2004-08-27 01:08:57 +02:00
vio Better bug fix for #5569: "Incorrect "Access Denied" error with SAME login DIFFERENT host" 2005-02-15 14:42:13 +02:00
zlib New MYSQL_SERVER_SUFFIX usage (for easier compilation) 2004-05-25 02:28:44 +03:00
.bzrignore union.test: drop table added 2004-09-05 11:27:31 +02:00
.cvsignore Import changeset 2000-07-31 21:29:14 +02:00
acconfig.h Compile all charset conversion tables if --with-extra-charsets=all 2004-08-27 21:17:29 +05:00
acinclude.m4 Post-review fix: Drop the duplicate assignment. 2005-03-29 18:55:47 +02:00
config.guess - updated config.guess, config.sub and ltmain.sh with versions from libtool 2004-02-06 00:58:15 +01:00
config.sub - updated config.guess, config.sub and ltmain.sh with versions from libtool 2004-02-06 00:58:15 +01:00
configure.in [backport of 4.1, because 4.0 autobuild now hits the same problem; 2005-05-07 11:35:14 +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
depcomp - Applied required modifications for automake 1.5 2002-11-17 16:45:21 +01:00
install-sh install-sh: copy not move like any reasonably modern install does 2004-07-30 18:53:54 +02:00
ltconfig - added a dummy file "reservedwords.texi" to the BK tree and the Makefiles, 2003-01-27 13:44:16 +01:00
ltmain.sh Prevent some combinations of autotools and libtool version 2004-09-09 19:19:29 +02:00
Makefile.am added --without-man option similar to --without-docs 2004-09-26 15:27:13 +02:00
missing - Applied required modifications for automake 1.5 2002-11-17 16:45:21 +01:00
mkinstalldirs Import changeset 2000-07-31 21:29:14 +02:00
README Removed URL (website is not actively maintained anymore) 2002-04-24 08:28:50 +02:00

This is a release of MySQL, a GPL (free) SQL database server (more
licence information in the PUBLIC file and in the reference manual).

Please read the "Upgrading from..." section in the manual first, if you are
migrating from older versions of MySQL!

The latest information about MySQL can be found at:
http://www.mysql.com

To see what it can do take a look at the features section in the
manual.

For installation instructions see the Installation chapter in the
manual.

For future plans see the TODO appendix in the manual.

New features/bug fixes history is in the news appendix in the manual.

For the currently known bugs/misfeatures (known errors) see the bugs
appendix in the manual.

For examples of SQL and benchmarking information see the bench
directory.

The manual mentioned above can be found in the Docs directory. The
manual is available in the following formats: as plain ASCII text in
Docs/manual.txt, in HTML format in Docs/manual_toc.html, as GNU Info in
Docs/mysql.info and as PostScript in Docs/manual.ps.

MySQL is brought to you by the MySQL team at MySQL AB

For a list of developers and other contributors, see the Credits appendix
in the manual.

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

IMPORTANT:

Send bug (error) reports, questions and comments to the mailing list
at mysql@lists.mysql.com

Please use the 'mysqlbug' script when posting bug reports or questions
about MySQL. mysqlbug will gather some information about your system
and start your editor with a form in which you can describe your
problem. Bug reports might be silently ignored by the MySQL
maintainers if there is not a good reason included in the report as to
why mysqlbug has not been used. A report that says 'MySQL does not
work for me. Why?' is not considered a valid bug report.

The mysqlbug script can be found in the 'scripts' directory of the
distribution, that is '<where-you-installed-mysql>/scripts'.