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.
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 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)
Added --show-table-type option
to mysqlshow, to display a column indicating
the table type, as in
SHOW FULL
TABLES.
(Bug #5036)
Added --with-big-tables
compilation option to configure. (Previously
it was necessary to pass -DBIG_TABLES to the
compiler manually to enable large table support.) See
Section 2.17.3, “MySQL Source-Configuration Options”, for details.
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.
Support for MIT-pthreads was removed.
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)
STR_TO_DATE() now produces errors
in strict mode (and warnings otherwise) when given an illegal
argument.
(Bug #5902)
InnoDB: SQL statements were not rolled back
on error.
(Bug #8650)
The tee command could sometimes cause the
mysql client to crash.
(Bug #8499)
Unions between binary and nonbinary columns failed due to a collation coercibility problem. (Bug #6519)
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)
The warning message from
GROUP_CONCAT() did not always
indicate the correct number of lines.
(Bug #8681)
Setting the max_error_count
system variable to 0 resulted in a setting of 1.
(Bug #9072)
In prepared statements, subqueries containing parameters were
erroneously treated as const
tables during preparation, resulting in a server crash.
(Bug #8807)
Calling mysql_stmt_close() for a
single-row result set could cause the server to crash.
(Bug #9159)
CAST() now produces warnings when
casting incorrect INTEGER and
CHAR values. This also applies to
implicit string to number
casts.
(Bug #5912)
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)
Using GROUP BY on a decimal expression caused
the server to crash.
(Bug #9210)
Inserting a zero date in a DATE,
DATETIME or
TIMESTAMP column during
TRADITIONAL mode now produces
an error.
(Bug #5933)
Creating a PRIMARY KEY on a table having a
BIT column caused the server to
crash.
(Bug #9571)
CREATE OR REPLACE
VIEW and ALTER VIEW now
require the CREATE VIEW and
DROP privileges, not
CREATE VIEW and
DELETE.
(DELETE is a row-level privilege,
not a table-level privilege.)
(Bug #9260)
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)
Some user variables were not being handled with “implicit” coercibility. (Bug #9425)
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)
Too many rows were returned from queries that combined
ROLLUP and LIMIT if
SQL_CALC_FOUND_ROWS was given.
(Bug #8617)
Added linking with libsupc++ on Fedora Core 3
to get language support functions.
(Bug #6554)
The use of XOR together with NOT
ISNULL() erroneously resulted in some outer joins
being converted to inner joins by the optimizer.
(Bug #9017)
ORDER BY sometimes caused incorrect sorting
of UTF8 data.
(Bug #9309)
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)
In the client/server protocol for prepared statements, reconnection failed when the connection was killed with reconnection enabled. (Bug #8866)
Permit extra HKSCS and cp950 characters (big5
extension characters) to be accepted in big5
columns.
(Bug #9357)
Do not try to space-pad BLOB
columns containing ucs2 characters.
(Bug #8771)
References: This bug was introduced by Bug #7350.
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)
An error now occurs if you try to insert an invalid value using
a stored procedure in STRICT mode.
(Bug #5907)
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)
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)
An error in division of floating point numbers could cause nine
zeros (000000000) to be inserted in the
middle of the quotient.
(Bug #9501)
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)
Selecting a BIT column failed if
the binary client/server protocol was used.
(Bug #9608)
Incorrect results were returned from queries that combined
SELECT
DISTINCT, GROUP BY , and
ROLLUP.
(Bug #8616)
mysql.server no longer uses nonportable alias command or LSB functions. (Bug #9852)
Two prepared statements for single-row result sets being open simultaneously caused a Commands out of sync error error. (Bug #8880)
mysqldump dumped core when invoked with
--tmp and
--single-transaction options
and a nonexistent table name.
(Bug #9175)
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)
A server installed as a Windows service and started with
--shared-memory could not be
stopped.
(Bug #9665)
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)
Using CREATE TABLE
... SELECT or
INSERT INTO ...
SELECT to select from multiple-table view caused the
server to crash.
(Bug #9398, Bug #8703)
Queries that combined
SELECT
DISTINCT, SUM(), and
ROLLUP could cause the MySQL server to crash.
(Bug #8615)
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)
ALTER TABLE now fails in
STRICT mode if the alteration generates
warnings.
Inserting a zero date into a
DATETIME column in
TRADITIONAL mode now produces
an error.

User Comments
Add your own comment.