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.