オリジナル版:http://dev.mysql.com/doc/refman/5.0/en/news-5-0-24.html
最も普及しているオープンソースデータベース管理システムであるMySQL 5.0.24がリリースされました。コミュニティエディションは、http://dev.mysql.com/downloads/とミラーサイトのダウンロード・ページから、ソースコード及び多くのプラットフォームのためのバイナリで現在利用可能です。
すべてのミラーサイトが現在、最新であるとは限らないことに注意してください。
あるミラーサイトでこのバージョンを見つけることができない場合は、再度確認を行うか、あるいは別のダウンロード・サイトを選択してください。
これは最近の製品バージョンのバグ修正版です。
このセクションでは、その前の公式のリリース以来適用している、変更とバグ修正のみを記録しています。使用するバージョンと特徴に関連した修正に関するより良質な個別の変更情報を受け取りたい場合は、MySQLネットワークにご登録下さい(商用のMySQL提供です。)より詳細については、http://www.mysql.com/network/advisors.htmlをご参照ください。
このバージョンでの個々のバグ修正に関するより詳細については、http://bugs.mysql.com/ で、バグデータベースを参照して下さい。
あなたのご意見をお待ちしています。
以下は、追加または変更された機能です。
Bugs fixed:
* Security fix: If a user has access to MyISAM table t, that
user can create a MERGE table m that accesses t. However, if
the user's privileges on t are subsequently revoked, the user
can continue to access t by doing so through m. If this
behavior is undesirable, you can start the server with the new
--skip-merge option to disable the MERGE storage engine.
(Bug#15195:http://bugs.mysql.com/15195)
* NDB Cluster: The repeated creating and dropping of a table
would eventually lead to NDB Error 826, Too many tables and
attributes ... Insufficient space.
(Bug#20847:http://bugs.mysql.com/20847)
* With the auto_increment_increment system variable set larger
than 1, if the next generate AUTO_INCREMENT value would be
larger than the column's maximum value, the value would be
clipped down to that maximum value and inserted, even if the
resulting value would not be in the generated sequence. This
could cause problems for master-master replication. Now the
server clips the value down to the previous value in the
sequence, which correctly produces a duplicate-key error if
that value already exists in the column.
(Bug#20524:http://bugs.mysql.com/20524)
* If a table on a slave server had a higher AUTO_INCREMENT
counter than the corresponding master table (even though all
rows of the two tables were identical), in some cases REPLACE
or INSERT ... ON DUPLICATE KEY UPDATE would not replicate
properly using statement-based logging. (Different values
would be inserted on the master and slave.)
(Bug#20188:http://bugs.mysql.com/20188)
* Under heavy load (executing more than 1024 simultaneous
complex queries), a problem in the code that handles internal
temporary tables could lead to writing beyond allocated space
and memory corruption. Use of more than 1024 simultaneous
cursors server wide also could lead to memory corruption.
(This applies both to stored procedure and C API cursors.)
(Bug#21206:http://bugs.mysql.com/21206)
* A race condition during slave server shutdown caused an assert
failure. (Bug#20850:http://bugs.mysql.com/20850)
* mysqldump produced a malformed dump file when dumping multiple
databases that contained views.
(Bug#20221:http://bugs.mysql.com/20221)
* SELECT @@INSERT_ID displayed a value unrelated to a preceding
SET INSERT_ID. (It was returning LAST_INSERT_ID instead.)
(Bug#20392:http://bugs.mysql.com/20392)
* Updating a column of a FEDERATED table to NULL sometimes
failed. (Bug#16494:http://bugs.mysql.com/16494)
* Performing INSERT ... SELECT ... JOIN ... USING without
qualifying the column names caused ERROR 1052 "column 'x' in
field list is ambiguous" even in cases where the column
references were unambiguous.
(Bug#18080:http://bugs.mysql.com/18080)
* Bug#10952:http://bugs.mysql.com/10952may cause inadvertent data
loss. A fix for this bug had been contained in MySQL 5.0.23,
but the approach used causes a loss of intended functionality.
Because of this, that fix has been reverted in MySQL 5.0.24.
As a consequence, the risk of inadvertent data loss still exists,
see Bug#10952:http://bugs.mysql.com/10952
* A SELECT that used a subquery in the FROM clause that did not
select from a table failed when the subquery was used in a
join. (Bug#21002:http://bugs.mysql.com/21002)
* REPLACE ... SELECT for a view required the INSERT privilege
for tables other than the table being modified.
(Bug#21135:http://bugs.mysql.com/21135)
* Failure to account for a NULL table pointer on big-endian
machines could cause a server crash during type conversion.
(Bug#21135:http://bugs.mysql.com/21135)
* mysqldump sometimes did not select the correct database before
trying to dump views from it, resulting in an empty result set
that caused mysqldump to die with a segmentation fault.
(Bug#21014:http://bugs.mysql.com/21014)
Changes in release 5.0.23 (Not released)
MySQL 5.0.23 was never officially released.
Functionality added or changed:
* NDB Cluster: The limit of 2048 ordered indexes per cluster has
been lifted. There is now no upper limit on the number of
ordered indexes (including AUTO_INCREMENT columns) that may be
used. (Bug#14509:http://bugs.mysql.com/14509)
* NDB Cluster: The status variables Ndb_connected_host and
Ndb_connected_port were renamed to Ndb_config_from_host and
Ndb_config_from_port, respectively.
* The mysql_upgrade command has been converted from a shell
script to a C program, so it is available on non-Unix systems
such as Windows. This program should be run for each MySQL
upgrade. See Section 5.6.2, "mysql_upgrade --- Check Tables
for MySQL Upgrade."
* Binary distributions that include SSL support now are built
using yaSSL when possible.
* Added the --ssl-verify-server-cert option to MySQL client
programs. This option causes the server's Common Name value in
its certificate to be verified against the hostname used when
connecting to the server, and the connection is rejected if
there is a mismatch. Added MYSQL_OPT_SSL_VERIFY_SERVER_CERT
option for the mysql_options() C API function to enable this
verification. This feature can be used to prevent
man-in-the-middle attacks. Verification is disabled by
default. (Bug#17208:http://bugs.mysql.com/17208)
* Added the ssl_ca, ssl_capath, ssl_cert, ssl_cipher, and
ssl_key system variables, which display the values given via
the corresponding command options. See Section 5.9.7.3, "SSL
Command Options." (Bug#19606:http://bugs.mysql.com/19606)
* Added the log_queries_not_using_indexes system variable.
(Bug#19616:http://bugs.mysql.com/19616)
* Added the --angel-pid-file option to mysqlmanager for
specifying the file in which the angel process records its
process ID when mysqlmanager runs in daemon mode.
(Bug#14106:http://bugs.mysql.com/14106)
* The ONLY_FULL_GROUP_BY SQL mode now also applies to the HAVING
clause. That is, columns not named in the GROUP BY clause
cannot be used in the HAVING clause if not used in an
aggregate function. (Bug#18739:http://bugs.mysql.com/18739)
* SQL syntax for prepared statements now supports ANALYZE TABLE,
OPTIMIZE TABLE, and REPAIR TABLE.
(Bug#19308:http://bugs.mysql.com/19308)
* The bundled yaSSL library was upgraded to version 1.3.5. This
improves handling of certain problems with SSL-related command
options. (Bug#17737:http://bugs.mysql.com/17737)
* Added the --set-charset option to mysqlbinlog to allow the
character set to be specified for processing binary log files.
(Bug#18351:http://bugs.mysql.com/18351)
* For a table with an AUTO_INCREMENT column, SHOW CREATE TABLE
now shows the next AUTO_INCREMENT value to be generated.
(Bug#19025:http://bugs.mysql.com/19025)
* It is now possible to use NEW.var_name values within triggers
as INOUT parameters to stored procedures.
(Bug#14635:http://bugs.mysql.com/14635)
* The mysqldumpslow script has been moved from client RPM
packages to server RPM packages. This corrects a problem where
mysqldumpslow could not be used with a client-only RPM
install, because it depends on my_print_defaults which is in
the server RPM. (Bug#20216:http://bugs.mysql.com/20216)
Bugs fixed:
* Re-executing a stored procedure with a complex stored
procedure cursor query could lead to a server crash.
(Bug#15217:http://bugs.mysql.com/15217)
* Views created from prepared statements inside of stored
procedures were created with a definition that included both
SQL_CACHE and SQL_NO_CACHE.
(Bug#17203:http://bugs.mysql.com/17203)
* mysqldump did not dump the table name correctly for some table
identifiers that contained unusual characters such as `:'.
(Bug#19479:http://bugs.mysql.com/19479)
* mysqldump would not dump views that had become invalid because
a table named in the view definition had been dropped.
Instead, it quit with an error message. Now you can specify
the --force option to cause mysqldump to keep going and write
a SQL comment containing the view definition to the dump
output. (Bug#17371:http://bugs.mysql.com/17371)
* The WITH CHECK OPTION was not enforced when a REPLACE
statement was executed against a view.
(Bug#19789:http://bugs.mysql.com/19789)
* The use of MIN() and MAX() on columns with a partial index
produced incorrect results in some queries.
(Bug#18206:http://bugs.mysql.com/18206)
* Concatenating the results of multiple constant subselects
produced incorrect results.
(Bug#16716:http://bugs.mysql.com/16716)
* A "table not found" error could occur for statements that
called a function defined in another database.
(Bug#17199:http://bugs.mysql.com/17199)
* A buffer overwrite error in Instance Manager caused a crash.
(Bug#20622:http://bugs.mysql.com/20622)
* Re-execution of a prepared multiple-table DELETE statement
that involves a trigger or stored function can result in a
server crash. (Bug#19634:http://bugs.mysql.com/19634)
* On Windows, corrected a crash stemming from differences in
Visual C runtime library routines from POSIX behavior
regarding invalid file descriptors.
(Bug#18275:http://bugs.mysql.com/18275)
* Multiple-table updates with FEDERATED tables could cause a
server crash. (Bug#19773:http://bugs.mysql.com/19773)
* On Windows, terminating mysqld with Control-C could result in
a crash during shutdown.
(Bug#18235:http://bugs.mysql.com/18235)
* On Windows, removal of binary log files would fail if the
files were already open.
(Bug#19208:http://bugs.mysql.com/19208)
* mysqldump produced garbled output for view definitions.
(Bug#18462:http://bugs.mysql.com/18462)
* The omission of leading zeros in dates could lead to erroneous
results when these were compared with the output of certain
date and time functions.
(Bug#16377:http://bugs.mysql.com/16377)
* An invalid comparison between keys in partial indexes over
multi-byte character fields could lead to incorrect result
sets if the selected query execution plan used a range scan by
a partial index over a UTF8 character field. This also caused
incorrect results under similar circumstances with many other
character sets. (Bug#14896:http://bugs.mysql.com/14896)
* NDB Cluster: Cluster system status variables were not updated.
(Bug#11459:http://bugs.mysql.com/11459)
* NDB Cluster: The cluster's data nodes would fail while trying
to load data when NoOfFrangmentLogFiles was equal to 1.
(Bug#19894:http://bugs.mysql.com/19894)
* NDB Cluster: A problem with error handling when
ndb_use_exact_count was enabled could lead to incorrect values
returned from queries using COUNT(). A warning is now returned
in such cases. (Bug#19202:http://bugs.mysql.com/19202)
* NDB Cluster: Restoring a backup made using ndb_restore failed
when the backup had been taken from a cluster whose data
memory was full. (Bug#19852:http://bugs.mysql.com/19852)
* NDB Cluster: TEXT columns in Cluster tables having both an
explicit primary key and a unique key were not correctly
updated by REPLACE statements.
(Bug#19906:http://bugs.mysql.com/19906)
* NDB Cluster: An internal formatting error caused some
management client error messages to be unreadable.
(Bug#20016:http://bugs.mysql.com/20016)
* NDB Cluster: Running management client commands while mgmd was
in the process of disconnecting could cause the management
server to fail. (Bug#19932:http://bugs.mysql.com/19932)
* NDB Cluster (NDBAPI): Update operations on blobs were not
checked for illegal operations.
Note: Read locks with blob update operations are now upgraded
from read committed to read shared.
* NDB Cluster: The management client ALL STOP command shut down
mgmd processes (as well as ndbd processes).
(Bug#18966:http://bugs.mysql.com/18966)
* NDB Cluster: LOAD DATA LOCAL failed to ignore duplicate keys
in Cluster tables. (Bug#19496:http://bugs.mysql.com/19496)
* NDB Cluster: Repeated CREATE - INSERT - DROP operations tables
could in some circumstances cause the MySQL table definition
cache to become corrupt, so that some mysqld processes could
access table information but others could not.
(Bug#18595:http://bugs.mysql.com/18595)
* NDB Cluster: The mgm client command ALL CLUSTERLOG
STATISTICS=15; had no effect.
(Bug#20336:http://bugs.mysql.com/20336)
* NDB Cluster: TRUNCATE TABLE failed to reset the AUTO_INCREMENT
counter. (Bug#18864:http://bugs.mysql.com/18864)
* NDB Cluster: SELECT ... FOR UPDATE failed to lock the selected
rows. (Bug#18184:http://bugs.mysql.com/18184)
* NDB Cluster: The failure of a data node when preparing to
commit a transaction (that is, while the node's status was
CS_PREPARE_TO_COMMIT) could cause the failure of other cluster
data nodes. (Bug#20185:http://bugs.mysql.com/20185)
* NDB Cluster: Renaming a table in such a way as to move it to
to a different database failed to move the table's indexes.
(Bug#19967:http://bugs.mysql.com/19967)
* NDB Cluster: Resources for unique indexes on Cluster table
columns were incorrectly allocated, so that only one-fourth as
many unique indexes as indicated by the value of
UniqueHashIndexes could be created.
(Bug#19623:http://bugs.mysql.com/19623)
* NDB Cluster: Running ALL START in the NDB management client or
restarting multiple nodes simultaneously could under some
circumstances cause the cluster to crash.
(Bug#19930:http://bugs.mysql.com/19930)
* NDB Cluster: SELECT statements with a BLOB or TEXT column in
the selected column list and a WHERE condition including a
primary key lookup on a VARCHAR primary key produced empty
result sets. Note: This issue affected the 5.0 series of MySQL
Cluster releases only.
(Bug#19956:http://bugs.mysql.com/19956)
* NDB Cluster (NDBAPI): On big-endian platforms,
NdbOperation::write_attr() did not update 32-bit fields
correctly. (Bug#19537:http://bugs.mysql.com/19537)
* NDB Cluster: Some queries having a WHERE clause of the form
c1=val1 OR c2 LIKE 'val2' were not evaluated correctly. (Bug #
17421)
* NDB Cluster: Using "stale" mysqld .FRM files could cause a
newly-restored cluster to fail. This situation could arise
when restarting a MySQL Cluster using the --intial option
while leaving connected mysqld processes running.
(Bug#16875:http://bugs.mysql.com/16875)
* NDB Cluster: Repeated use of the SHOW and ALL STATUS commands
in the ndb_mgm client could cause the mgmd process to crash.
(Bug#18591:http://bugs.mysql.com/18591)
* NDB Cluster: An issue with ndb_mgmd prevented more than 27
mysqld processes from connecting to a single cluster at one
time. (Bug#17150:http://bugs.mysql.com/17150)
* NDB Cluster: Data node failures could cause excessive CPU
usage by ndb_mgmd. (Bug#13987:http://bugs.mysql.com/13987)
* NDB Cluster: TRUNCATE failed on tables having BLOB or TEXT
columns with the error Lock wait timeout exceeded.
(Bug#19201:http://bugs.mysql.com/19201)
* NDB Cluster: Stopping multiple nodes could cause node failure
handling not to be completed.
(Bug#19039:http://bugs.mysql.com/19039)
* NDB Cluster: ndbd could sometimes fail to start with the error
Node failure handling not completed following a graceful
restart. (Bug#18550:http://bugs.mysql.com/18550)
* NDB Cluster: Backups could fail for large clusters with many
tables, where the number of tables approached MaxNoOfTables.
(Bug#17607:http://bugs.mysql.com/17607)
* On Windows, temporary tables containing `:' in the name could
not be created. (Bug#20616:http://bugs.mysql.com/20616)
* The --core-file-size option for mysqld_safe was effective only
for root. (Bug#17353:http://bugs.mysql.com/17353)
* Some queries that used ORDER BY and LIMIT performed quickly in
MySQL 3.23, but slowly in MySQL 4.x/5.x due to an optimizer
problem. (Bug#4981:http://bugs.mysql.com/4981)
* mysql_upgrade was missing from binary MySQL distributions.
(Bug#18516:http://bugs.mysql.com/18516,
Bug#20403:http://bugs.mysql.com/20403)
* Queries using an indexed column as the argument for the MIN()
and MAX() functions following an ALTER TABLE .. DISABLE KEYS
statement returned Got error 124 from storage engine until
ALTER TABLE ... ENABLE KEYS was run on the table.
(Bug#20357:http://bugs.mysql.com/20357)
* A number of dependency issues in the RPM bench and test
packages caused installation of these packages to fail.
(Bug#20078:http://bugs.mysql.com/20078)
* Nested natural joins worked executed correctly when executed
as a non-prepared statement could fail with an Unknown column
'col_name' in 'field list' error when executed as a prepared
statement, due to a name resolution problem.
(Bug#15355:http://bugs.mysql.com/15355)
* GROUP BY on an expression that contained a cast to DECIMAL
produced an incorrect result.
(Bug#19667:http://bugs.mysql.com/19667)
* The max_length metadata value for columns created from
CONCAT() could be incorrect when the collation of an argument
differed from the collation of the CONCAT() itself. In some
contexts such as UNION, this could lead to truncation of the
column contents. (Bug#15962:http://bugs.mysql.com/15962)
* The MD5() and SHA() functions treat their arguments as
case-sensitive strings. But when they are compared, their
arguments were compared as case-insensitive strings, which
leads to two function calls with different arguments (and thus
different results) compared as being identical. This can lead
to a wrong decision made in the range optimizer and thus to an
incorrect result set. (Bug#15351:http://bugs.mysql.com/15351)
* For BOOLEAN mode full-text searches on non-indexed columns,
NULL rows generated by a LEFT JOIN caused incorrect query
results. (Bug#14708:http://bugs.mysql.com/14708)
* BIT columns in a table could cause joins that use the table to
fail. (Bug#18895:http://bugs.mysql.com/18895)
* A UNION over more than 128 SELECT statements that use an
aggregate function failed.
(Bug#18175:http://bugs.mysql.com/18175)
* InnoDB unlocked its data directory before committing a
transaction, potentially resulting in non-recoverable tables
if a server crash occurred before the commit.
(Bug#19727:http://bugs.mysql.com/19727)
* Multiple-table DELETE statements containing a subquery that
selected from one of the tables being modified caused a server
crash. (Bug#19225:http://bugs.mysql.com/19225)
* With settings of read_buffer_size >= 2G and
read_rnd_buffer_size >=2G, LOAD DATA INFILE failed with no
error message or caused a server crash for files larger than
2GB. (Bug#12982:http://bugs.mysql.com/12982)
* REPLACE statements caused activation of UPDATE triggers, not
DELETE and INSERT triggers.
(Bug#13479:http://bugs.mysql.com/13479)
* The thread for INSERT DELAYED rows was maintaining a separate
AUTO_INCREMENT counter, resulting in incorrect values being
assigned if DELAYED and non-DELAYED inserts were mixed.
(Bug#20195:http://bugs.mysql.com/20195)
* mysqldump wrote an extra pair of DROP DATABASE and CREATE
DATABASE statements if run with the --add-drop-database option
and the database contained views.
(Bug#17201:http://bugs.mysql.com/17201)
* On 64-bit Windows systems, REGEXP for regular expressions with
exactly 31 characters did not work.
(Bug#19407:http://bugs.mysql.com/19407)
* For mysqld, Valgrind revealed problems that were corrected: A
dangling stack pointer being overwritten
(Bug#20769:http://bugs.mysql.com/20769); possible
uninitialized data in a string comparison
(Bug#20783:http://bugs.mysql.com/20783); memory corruption in
replication slaves when switching databases
(Bug#19022:http://bugs.mysql.com/19022); syscall write
parameter pointing to uninitialized byte
(Bug#20579:http://bugs.mysql.com/20579).
* For ndb_mgmd, Valgrind revealed problems that were corrected:
A memory leak (Bug#19318:http://bugs.mysql.com/19318); a
dependency on an uninitialized variable
(Bug#20333:http://bugs.mysql.com/20333).
* An update that used a join of a table to itself and modified
the table on both sides of the join reported the table as
crashed. (Bug#18036:http://bugs.mysql.com/18036)
* SSL connections using yaSSL on OpenBSD could fail.
(Bug#19191:http://bugs.mysql.com/19191)
* On Windows, multiple clients simultaneously attempting to
perform ALTER TABLE operations on an InnoDB table could
deadlock. (Bug#17264:http://bugs.mysql.com/17264)
* The fill_help_tables.sql file did not load properly if the
ANSI_QUOTES SQL mode was enabled.
(Bug#20542:http://bugs.mysql.com/20542)
* The fill_help_tables.sql file did not contain a SET NAMES
'utf8' statement to indicate its encoding. This caused
problems for some settings of the MySQL character set such as
big5. (Bug#20551:http://bugs.mysql.com/20551)
* The MySQL server startup script /etc/init.d/mysql (created
from mysql.server) is now marked to ensure that the system
services ypbind, nscd, ldap, and NTP are started first (if
these are configured on the machine).
(Bug#18810:http://bugs.mysql.com/18810)
* MERGE tables did not work reliably with BIT columns.
(Bug#19648:http://bugs.mysql.com/19648)
* For a reference to a non-existent index in FORCE INDEX, the
error message referred to a column, not an index.
(Bug#17873:http://bugs.mysql.com/17873)
* Some yaSSL public function names conflicted with those from
OpenSSL, causing conflicts for applications that linked
against both OpenSSL and a version of libmysqlclient that was
built with yaSSL support. The yaSSL public functions now are
renamed to avoid this conflict.
(Bug#19575:http://bugs.mysql.com/19575)
* CHECK TABLE temporarily cleared the AUTO_INCREMENT value.
Because it runs with a read lock, other readers could perform
concurrent inserts, and if so, they could get an incorrect
AUTO_INCREMENT value. CHECK TABLE no longer modifies the
AUTO_INCREMENT value. (Bug#19604:http://bugs.mysql.com/19604)
* If there is a global read lock, CREATE DATABASE, RENAME
DATABASE, and DROP DATABASE could deadlock.
(Bug#19815:http://bugs.mysql.com/19815)
* On Linux, libmysqlclient when compiled with yaSSL using the
icc compiler had a spurious dependency on C++ libraries.
(Bug#20119:http://bugs.mysql.com/20119)
* Using CONCAT(@user_var, col_name), where col_name is a column
in an INFORMATION_SCHEMA table, could cause erroneous
duplication of data in the query result.
(Bug#19599:http://bugs.mysql.com/19599)
* Results from INFORMATION_SCHEMA.SCHEMATA could contain
uppercase information when lower_case_table_names was not 0.
(Bug#17661:http://bugs.mysql.com/17661)
* Grant table modifications sometimes did not refresh the
in-memory tables if the hostname was '' or not specified.
(Bug#16297:http://bugs.mysql.com/16297)
* Invalid escape sequences in option files caused MySQL programs
that read them to abort.
(Bug#15328:http://bugs.mysql.com/15328)
* InnoDB did not increment the handler_read_prev counter.
(Bug#19542:http://bugs.mysql.com/19542)
* Race conditions on certain platforms could cause the Instance
Manager to fail to initialize.
(Bug#19391:http://bugs.mysql.com/19391)
* ALTER TABLE on a table created prior to 5.0.3 would cause
table corruption if the ALTER TABLE did one of the following:
+ Change the default value of a column.
+ Change the table comment.
+ Change the table password.
(Bug#17001:http://bugs.mysql.com/17001)
* An ALTER TABLE operation that does not need to copy data, when
executed on a table created prior to MySQL 4.0.25, could
result in a server crash for subsequent accesses to the table.
(Bug#19192:http://bugs.mysql.com/19192)
* The binary log lacked character set information for table name
when dropping temporary tables.
(Bug#14157:http://bugs.mysql.com/14157)
* A B-TREE index on a MEMORY table erroneously reported
duplicate entry error for multiple NULL values.
(Bug#12873:http://bugs.mysql.com/12873)
* Race conditions on certain platforms could cause the Instance
Manager to try to restart the same instance multiple times.
(Bug#18023:http://bugs.mysql.com/18023)
* A CREATE TABLE statement that created a table from a
materialized view did not inherit default values from the
underlying table. (Bug#19089:http://bugs.mysql.com/19089)
* The COM_STATISTICS command was changed in 5.0.3 to display
session status variable values rather than global values. This
causes mysqladmin status information not to be useful for the
Slow queries and Opens values. Now COM_STATISTICS displays the
global values for Slow queries and Opens.
(Bug#18669:http://bugs.mysql.com/18669)
* INFORMATION_SCHEMA.TABLES provided inconsistent info about
invalid views. This could cause server crashes or result in
incorrect data being returned for queries that attempt to
obtain information from INFORMATION_SCHEMA tables about views
using stored functions.
(Bug#18282:http://bugs.mysql.com/18282)
* Multiple calls to a stored procedure that selects from
INFORMATION_SCHEMA could cause a server crash.
(Bug#17204:http://bugs.mysql.com/17204)
* Premature optimization of nested subqueries in the FROM clause
that refer to aggregate functions could lead to incorrect
results. (Bug#19077:http://bugs.mysql.com/19077)
* A view definition that referred to an alias in the HAVING
clause could be saved in the .frm file with the alias replaced
by the expression that it referred to, causing failure of
subsequent SELECT * FROM view_name statements.
(Bug#19573:http://bugs.mysql.com/19573)
* Several aspects of view privileges were being checked
incorrectly. (Bug#18681:http://bugs.mysql.com/18681,
Bug#20363:http://bugs.mysql.com/20363)
* A view with a non-existent account in the DEFINER clause
caused SHOW CREATE VIEW to fail. Now SHOW CREATE VIEW issues a
warning instead. (Bug#20048:http://bugs.mysql.com/20048)
* A bug in NTPL threads on Linux could result in a deadlock with
FLUSH TABLES WITH READ LOCK under some conditions.
(Bug#20048:http://bugs.mysql.com/20048)
* MyISAM table deadlock was possible if one thread issued a LOCK
TABLES request for write locks and then an administrative
statement such as OPTIMIZE TABLE, if between the two
statements another client meanwhile issued a multiple-table
SELECT for some of the locked tables.
(Bug#16986:http://bugs.mysql.com/16986)
* Subqueries that produced a BIGINT UNSIGNED value were being
treated as returning a signed value.
(Bug#19700:http://bugs.mysql.com/19700)
* The patch for Bug#17164:http://bugs.mysql.com/17164
introduced the problem that some outer joins were incorrectly
converted to inner joins.
(Bug#19816:http://bugs.mysql.com/19816)
* BLOB or TEXT arguments to or values returned from stored
functions were not copied properly if too long and could
become garbled. (Bug#18587:http://bugs.mysql.com/18587)
* Selecting data from a MEMORY table with a VARCHAR column and a
HASH index over it returned only the first row matched.
(Bug#18233:http://bugs.mysql.com/18233)
* CREATE TABLE ... SELECT did not always produce the proper
column default value in TRADITIONAL SQL mode.
(Bug#17626:http://bugs.mysql.com/17626)
* Privilege checking on the contents of the
INFORMATION_SCHEMA.VIEWS table was insufficiently restrictive.
(Bug#16681:http://bugs.mysql.com/16681)
* The result from CONV() is a string, but was not always treated
the same way as a string when converted to a real value for an
arithmetic operation. (Bug#13975:http://bugs.mysql.com/13975)
* CREATE TABLE ... SELECT ... statements that used a stored
function explicitly or implicitly (through a view) resulted in
a Table not locked error.
(Bug#12472:http://bugs.mysql.com/12472,
Bug#15137:http://bugs.mysql.com/15137)
* Within a trigger, SET used the SQL mode of the invoking
statement, not the mode in effect at trigger creation time.
(Bug#6951:http://bugs.mysql.com/6951)
* The server no longer uses a signal handler for signal 0
because it could cause a crash on some platforms.
(Bug#15869:http://bugs.mysql.com/15869)
* Revised memory allocation for local objects within stored
functions and triggers to avoid memory leak for repeated
function or trigger invocation.
(Bug#17260:http://bugs.mysql.com/17260)
* EXPLAIN ... SELECT INTO caused the client to hang.
(Bug#15463:http://bugs.mysql.com/15463)
* Symlinking .mysql_history to /dev/null to suppress statement
history saving by mysql did not work. (mysql deleted the
symlink and recreated .mysql_history as a regular file, and
then wrote history to it.)
(Bug#16803:http://bugs.mysql.com/16803)
* The basedir and tmpdir system variables could not be accessed
via @@var_name syntax. (Bug#1039:http://bugs.mysql.com/1039)
* For certain CREATE VIEW statements, the server did not detect
invalid subqueries within the SELECT part.
(Bug#7549:http://bugs.mysql.com/7549)
* The range operator failed and caused a server crash for
clauses of the form tbl_name.unsigned_keypart NOT IN
(negative_const, ...).
(Bug#19618:http://bugs.mysql.com/19618)
* Returning the value of a system variable from a stored
function caused a server crash.
(Bug#18037:http://bugs.mysql.com/18037)
* Updates to a MEMORY table caused the size of BTREE indexes for
the table to increase.
(Bug#18160:http://bugs.mysql.com/18160)
* REPAIR TABLE did not restore the length for packed keys in
tables created under MySQL 4.x.
(Bug#17810:http://bugs.mysql.com/17810)
* Selecting from a view that used GROUP BY on a non-constant
temporal interval (such as DATE(col) + INTERVAL
TIME_TO_SEC(col) SECOND could cause a server crash.
(Bug#19490:http://bugs.mysql.com/19490)
* An outer join of two views that was written using { OJ ... }
syntax could cause a server crash.
(Bug#19396:http://bugs.mysql.com/19396)
* LOAD_FILE() returned an error if the file did not exist,
rather than NULL as it should according to the manual.
(Bug#10418:http://bugs.mysql.com/10418)
* For certain CREATE TABLE ... SELECT statements, the selected
values were truncated when inserted into the new table.
(Bug#17048:http://bugs.mysql.com/17048)
* Use of uninitialized user variables in a subquery in the FROM
clause results in bad entries in the binary log.
(Bug#19136:http://bugs.mysql.com/19136)
* In the INFORMATION_SCHEMA.COLUMNS table, the values for the
CHARACTER_MAXIMUM_LENGTH and CHARACTER_OCTET_LENGTH columns
were incorrect for multi-byte character sets.
(Bug#19236:http://bugs.mysql.com/19236)
* An entry in the mysql.proc table with an empty routine name
caused access to the INFORMATION_SCHEMA.ROUTINES table to
crash the server. (Bug#18177:http://bugs.mysql.com/18177)
* A range access optimizer heuristic was invalid, causing some
queries to be much slower in MySQL 5.0 than in 4.0.
(Bug#17379:http://bugs.mysql.com/17379,
Bug#18940:http://bugs.mysql.com/18940)
* IS_USED_LOCK() could return an incorrect connection
identifier. (Bug#16501:http://bugs.mysql.com/16501)
* mysql displayed NULL for strings that are empty or contain
only spaces. (Bug#19564:http://bugs.mysql.com/19564)
* Concurrent reading and writing of privilege structures could
crash the server. (Bug#16372:http://bugs.mysql.com/16372)
* A NUL byte within a comment in a statement string caused the
rest of the string not to be written to the query log,
allowing logging to be bypassed. (CVE-2006-0903
(http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-0903))
(Bug#17667:http://bugs.mysql.com/17667)
* mysql-test-run.pl started NDB even for test cases that didn't
need it. (Bug#19083:http://bugs.mysql.com/19083)
* SELECT DISTINCT queries sometimes returned only the last row.
(Bug#18068:http://bugs.mysql.com/18068)
* Use of CONVERT_TZ() in a stored function or trigger (or in a
stored procedure called from a stored function or trigger)
caused an error. (Bug#11081:http://bugs.mysql.com/11081)
* Some queries were slower in 5.0 than in 4.1 because some 4.1
cost-evaluation code had not been merged into 5.0.
(Bug#14292:http://bugs.mysql.com/14292)
* Index prefixes for utf8 VARCHAR columns did not work for
UPDATE statements. (Bug#19080:http://bugs.mysql.com/19080)
* InnoDB does not support SPATIAL indexes, but did not prevent
creation of such an index.
(Bug#15860:http://bugs.mysql.com/15860)
* The configuration information for building the embedded server
on Windows was missing a file.
(Bug#18455:http://bugs.mysql.com/18455)
* The parser leaked memory when its stack needed to be extended.
(Bug#18930:http://bugs.mysql.com/18930)
* When myisamchk needed to rebuild a table, AUTO_INCREMENT
information was lost. (Bug#10405:http://bugs.mysql.com/10405)
* LOAD DATA FROM MASTER would fail when trying to load the
INFORMATION_SCHEMA database from the master, because the
INFORMATION_SCHEMA system database would already exist on the
slave. (Bug#18607:http://bugs.mysql.com/18607)
* The binary log would create an incorrect DROP query when
creating temporary tables during replication.
(Bug#17263:http://bugs.mysql.com/17263)
* The IN-to-EXISTS transformation was making a reference to a
parse tree fragment that was left out of the parse tree. This
caused problems with prepared statements.
(Bug#18492:http://bugs.mysql.com/18492)
* In mysqltest, --sleep=0 had no effect. Now it correctly causes
sleep commands in test case files to sleep for 0 seconds.
(Bug#18312:http://bugs.mysql.com/18312)
* Attempting to set the default value of an ENUM or SET column
to NULL caused a server crash.
(Bug#19145:http://bugs.mysql.com/19145)
* The sql_notes and sql_warnings system variables were not
always displayed correctly by SHOW VARIABLES (for example,
they were displayed as ON after being set to OFF).
(Bug#16195:http://bugs.mysql.com/16195)
* The sql_big_selects system variable was not displayed by SHOW
VARIABLES. (Bug#17849:http://bugs.mysql.com/17849)
* The system_time_zone and version_* system variables could not
be accessed via SELECT @@var_name syntax.
(Bug#12792:http://bugs.mysql.com/12792,
Bug#15684:http://bugs.mysql.com/15684)
* Flushing the compression buffer (via FLUSH TABLE) no longer
increases the size of an unmodified ARCHIVE table.
(Bug#19204:http://bugs.mysql.com/19204)
* RPM packages had spurious dependencies on Perl modules and
other programs. (Bug#13634:http://bugs.mysql.com/13634)
* SHOW CREATE TABLE did not display the AUTO_INCREMENT column
attribute if the SQL mode was MYSQL323 or MYSQL40. This also
affected mysqldump, which uses SHOW CREATE TABLE to get table
definitions. (Bug#14515:http://bugs.mysql.com/14515)