Functionality added or changed:
Replication: The way the time zone information is stored in the binary log was changed, so that it is now possible to have a replication master and slave running with different global time zones. A disadvantage is that replication from 5.0.4 masters to pre-5.0.4 slaves is impossible.
Added ENGINE=MyISAM table option when
creating mysql.proc table in
mysql_create_system_tables script to make
sure the table is created as a MyISAM table
even if the default storage engine has been changed.
(Bug#9496)
SHOW CREATE TABLE for an
INFORMATION_SCHEMA table no longer prints a
MAX_ROWS value because the value has no
meaning.
(Bug#8941)
Invalid DEFAULT values for
CREATE TABLE now generate errors.
(Bug#5903)
Added --show-table-type option
to mysqlshow, to display a column indicating
the table type, as in SHOW FULL TABLES.
(Bug#5036)
New configuration directives !include and
!includedir implemented for including option
files and searching directories for option files. See
Section 4.2.3.3, “Using Option Files”, for usage.
Added --with-big-tables
compilation option to configure. (Previously
it was necessary to pass -DBIG_TABLES to the
compiler manually in order to enable large table support.) See
Section 2.16.2, “Typical configure Options”, for details.
Bugs fixed:
Security Fix:
Information in INFORMATION_SCHEMA could be
exposed to a user with insufficient privileges.
(Bug#7214)
MySQL Cluster:
The commit count cache for NDB was
not properly invalidated when deleting a record using a cursor.
(Bug#8585)
Replication:
If, on a replication master, a
LOAD DATA
INFILE operation was interrupted (by, for example, an
integrity constraint violation or killed connection), the slave
skipped the LOAD DATA
INFILE entirely, thus missing changes if this command
permanently inserted or updated table records before being
interrupted.
(Bug#3247)
mysql.server no longer uses nonportable alias command or LSB functions. (Bug#9852)
A server installed as a Windows service and started with
--shared-memory could not be
stopped.
(Bug#9665)
Selecting a BIT column failed if
the binary client/server protocol was used.
(Bug#9608)
Creating a PRIMARY KEY on a table having a
BIT column caused the server to
crash.
(Bug#9571)
ENUM and SET
columns in InnoDB tables were treated
incorrectly as character strings. This bug did not manifest
itself with latin1 collations, but it caused
malfunction with utf8. Old tables will
continue to work. In new tables,
ENUM and SET
will be stored internally as unsigned integers.
(Bug#9526)
An error in division of floating point numbers could cause nine
zeros (000000000) to be inserted in the
middle of the quotient.
(Bug#9501)
Fixed option-parsing code for the embedded server to understand
K, M, and
G suffixes for the
net_buffer_length and
max_allowed_packet options.
(Bug#9472)
Some user variables were not being handled with “implicit” coercibility. (Bug#9425)
Using CREATE TABLE
... SELECT or
INSERT INTO ...
SELECT to select from multiple-table view caused the
server to crash.
(Bug#9398, Bug#8703)
Multiple executions of a prepared statement involving a join of
an INFORMATION_SCHEMA table with another
table could lead to a crash of the server.
(Bug#9383)
An InnoDB test suite failure was caused by a
locking conflict between two server instances at server shutdown
or startup. This conflict on advisory locks appears to be the
result of a bug in the operating system; these locks should be
released when the files are closed, but somehow that does not
always happen immediately in Linux.
(Bug#9381)
Allow extra HKSCS and cp950 characters (big5
extension characters) to be accepted in big5
columns.
(Bug#9357)
The value of the CHARACTER_MAXIMUM_LENGTH and
CHARACTER_OCTET_LENGTH columns of the
INFORMATION_SCHEMA.COLUMNS table
must be NULL for numeric columns, but were
not.
(Bug#9344)
INFORMATION_SCHEMA tables had an implicit
upper limit for the number of rows. As a result, not all data
could be returned for some queries.
(Bug#9317)
InnoDB: True
VARCHAR:
InnoDB stored the 'position' of a row wrong
in a column prefix primary key index; this could cause MySQL to
complain ERROR 1032: Can't find record … in
an update of the primary key, and also some ORDER
BY or DISTINCT queries.
(Bug#9314)
ORDER BY sometimes caused incorrect sorting
of UTF8 data.
(Bug#9309)
The utf8_spanish2_ci and
ucs2_spanish2_ci collations no longer
consider r equal to rr .
If you upgrade to this version from an earlier version, you
should rebuild the indexes of any affected tables.
(Bug#9269)
CREATE OR REPLACE VIEW and
ALTER VIEW now require the
CREATE VIEW and
priv privileges, not
CREATE VIEW and
DELETE.
(DELETE is a row-level privilege,
not a table-level privilege.)
(Bug#9260)
Using GROUP BY on a decimal expression caused
the server to crash.
(Bug#9210)
mysqldump dumped core when invoked with
--tmp and
--single-transaction options
and a nonexistent table name.
(Bug#9175)
Calling mysql_stmt_close() for a
single-row result set could cause the server to crash.
(Bug#9159)
Setting the max_error_count
system variable to 0 resulted in a setting of 1.
(Bug#9072)
The use of XOR together with NOT
ISNULL() erroneously resulted in some outer joins
being converted to inner joins by the optimizer.
(Bug#9017)
Two prepared statements for single-row result sets being open simultaneously caused a Commands out of sync error error. (Bug#8880)
Extraneous comparisons between NULL values in
indexed columns were performed by the optimzer for operators
such as = that are never true for
NULL.
(Bug#8877)
In the client/server protocol for prepared statements, reconnection failed when the connection was killed with reconnection enabled. (Bug#8866)
In prepared statements, subqueries containing parameters were
erroneously treated as const
tables during preparation, resulting in a server crash.
(Bug#8807)
Do not try to space-pad BLOB
columns containing ucs2 characters.
(Bug#8771)
This regression was introduced by Bug#7350.
The warning message from
GROUP_CONCAT() did not always
indicate the correct number of lines.
(Bug#8681)
InnoDB: SQL statements were not rolled back
on error.
(Bug#8650)
Too many rows were returned from queries that combined
ROLLUP and LIMIT if
SQL_CALC_FOUND_ROWS was given.
(Bug#8617)
Incorrect results were returned from queries that combined
SELECT
DISTINCT, GROUP BY , and
ROLLUP.
(Bug#8616)
Queries that combined
SELECT
DISTINCT, SUM(), and
ROLLUP could cause the MySQL server to crash.
(Bug#8615)
The tee command could sometimes cause the
mysql client to crash.
(Bug#8499)
DROP TABLE did not drop triggers
that were defined for the table. DROP
DATABASE did not drop triggers in the database.
(Bug#6559, Bug#5859)
Added linking with libsupc++ on Fedora Core 3
to get language support functions.
(Bug#6554)
Unions between binary and nonbinary columns failed due to a collation coercibility problem. (Bug#6519)
Using CONVERT('0000-00-00',DATE)
or CAST('0000-00-00' as DATE)
with the NO_ZERO_DATE SQL mode
enabled now produces a warning.
(Bug#6145)
TRADITIONAL SQL mode should
prevent inserts where a column with no default value is omitted
or set to a value of DEFAULT; however, in
some cases, this restriction was not enforced.
(Bug#5986)
Inserting a zero date in a DATE,
DATETIME or
TIMESTAMP column during
TRADITIONAL mode now produces
an error.
(Bug#5933)
CAST() now produces warnings when
casting incorrect INTEGER and
CHAR values. This also applies to
implicit string to number
casts.
(Bug#5912)
An error now occurs if you try to insert an invalid value via a
stored procedure in STRICT mode.
(Bug#5907)
STR_TO_DATE() now produces errors
in strict mode (and warnings otherwise) when given an illegal
argument.
(Bug#5902)
Inserting a zero date into a
DATETIME column in
TRADITIONAL mode now produces
an error.
ALTER TABLE now fails in
STRICT mode if the alteration generates
warnings.

User Comments
Add your own comment.