Functionality added or changed:
Security Fix: A UDF library-loading vulnerability could result in a buffer overflow and code execution. (CVE-2005-2558)
Improved the optimizer to be able to use indexes for expressions
of the form
and indexed_col
NOT
IN (val1
,
val2
, ...)
.
(Bug#10561)indexed_col
NOT BETWEEN
val1
AND
val2
The table
, type
, and
rows
columns of
EXPLAIN
output can now be
NULL
. This is required for using
EXPLAIN
on
SELECT
queries that use no
tables, such as EXPLAIN SELECT 1
).
(Bug#9899)
All characters occurring on the same line following the
DELIMITER
keyword will be set as delimiter.
For example, DELIMITER :;
will set
:;
as the delimiter. This behavior is now
consistent between MySQL 5.1 and MySQL 5.0.
(Bug#9879)
Added mysql_set_character_set()
C API function for setting the default character set of the
current connection. This allows clients to affect the character
set used by
mysql_real_escape_string()
.
(Bug#8317)
The --delayed-insert
option
for mysqldump was disabled to avoid causing
problems with storage engines that do not support
INSERT DELAYED
.
(Bug#7815)
Placeholders now can be used for LIMIT
in
prepared statements.
(Bug#7306)
InnoDB
: In stored procedures and functions,
InnoDB
no longer takes full explicit table
locks for every involved table. Only “intention”
locks are taken, similar to those in the execution of an
ordinary SQL statement. This greatly reduces the number of
deadlocks.
SHOW BINARY LOGS
now displays a
File_size
column that indicates the size of
each file.
Removed WinMySQLAdmin
from the source
distribution and from the “No Installer” Windows
distribution (it had already been removed from the “With
Installer” distribution before).
The behavior of the
Last_query_cost
system
variable has been changed. The default value is now 0 (rather
than -1) and it now has session-level scope (rather than being
global). See Section 5.1.6, “Server Status Variables”, for
additional information.
Removed mysqlshutdown.exe
and
mysqlwatch.exe
from the Windows “No
Installer” distribution (they had already been removed
from the “With Installer” distribution before).
Removed those programs from the source distribution.
Bugs fixed:
MySQL would pass an incorrect key length to storage engines for
MIN()
. This could cause spurious
warnings such as InnoDB: Warning: using a
partial-field key prefix in search to appear in the
.err
log.
(Bug#13218, Bug#11039)
Build failures occurred when compiling the server on Windows using Visual Studio 6. (Bug#11153)
Corrected a problem where an incorrect data type was returned in
the result set metadata when using a prepared
SELECT
DISTINCT
statement to select from a view.
(Bug#11111)
The server could crash due to an attempt to allocate too much
memory when GROUP BY
and
blob_col
COUNT(DISTINCT)
were used.
(Bug#11088)
Multiple-row REPLACE
could fail
on a duplicate-key error when having one
AUTO_INCREMENT
key and one unique key.
(Bug#11080)
InnoDB
: A duplicate key error occurred with
REPLACE
in a table having an
AUTO_INCREMENT
column.
(Bug#11005)
WITH ROLLUP
did not sum values properly.
(Bug#10982)
Security update: A user with
limited privileges could obtain information about the privileges
of other users by querying objects in the
INFORMATION_SCHEMA
database for which that
user did not have the requisite privileges.
(Bug#10964)
The value returned by the FIELD()
function was incorrect when its parameter list contained one or
more instances of NULL
.
(Bug#10944)
Failure of a BEFORE
trigger did not prevent
the triggering statement from performing its operation on the
row for which the trigger error occurred. Now the triggering
statement fails as described in Section 18.3, “Using Triggers”.
(Bug#10902)
The FEDERATED
storage engine properly handled
outer joins, but not inner joins.
(Bug#10848)
Executing LOAD INDEX
INTO CACHE
for a table while other threads where
selecting from the table caused a deadlock.
(Bug#10602)
The TIME_FORMAT()
function
returned incorrect results with some format specifiers. See
Section 11.6, “Date and Time Functions”.
(Bug#10590)
The LAST_DAY()
failed to return
NULL
when supplied with an invalid argument.
See Section 11.6, “Date and Time Functions”.
(Bug#10568)
A problem with the my_global.h
file caused
compilation of MySQL to fail on single-processor Linux systems
running 2.6 kernels.
(Bug#10364)
Corrected inappropriate error messages that were displayed when
attempting to set the read-only
warning_count
and
error_count
system variables.
(Bug#10339)
The MySQL Instance manager caused the version to be displayed as
unknown
by SHOW INSTANCE
STATUS
.
(Bug#10229)
A simultaneous CREATE TABLE ... SELECT FROM
and table
ALTER
TABLE
on the same
table caused the server to crash.
(Bug#10224)table
Under certain rare circumstances, inserting into the
mysql.host
table could cause the server to
crash.
(Bug#10181)
Consistently report INFORMATION_SCHEMA
table
names in uppercase in SHOW TABLE
STATUS
output.
(Bug#10059)
Accessing InnoDB
tables within stored
functions caused the MySQL server to crash. Now, statements that
perform an implicit or explicit commit or rollback are
prohibited within stored functions or triggers.
(Bug#10015)
Issuing a write lock for a table from one client prevented other
clients from accessing the table's metadata. For example, if one
client issued a LOCK TABLES
, then a second client attempting to execute a
mydb
.mytable
WRITEUSE
would
hang.
(Bug#9998)mydb
;
Dropping stored routines when the MySQL server had been started
with --skip-grant-tables
generated extraneous warnings.
(Bug#9993)
The mysql_next_result()
function
could hang if you were executing many statements in a
mysql_real_query()
call and one
of those statements raised an error.
(Bug#9992)
The functions COALESCE()
,
IF()
, and
IFNULL()
performed incorrect
conversions of their arguments.
(Bug#9939)
An incorrect result was returned from a view that selected a
COALESCE()
expression from the
result of an outer join.
(Bug#9938)
InnoDB
: Do very fast shutdown only if
innodb_fast_shutdown = 2
, but wait for
threads to exit and release allocated memory if
innodb_fast_shutdown = 1
. Starting with
MySQL/InnoDB 5.0.5, InnoDB
would do brutal
shutdown also when innodb_fast_shutdown = 1
.
(Bug#9673)
Using ORDER BY
to sort the results of an
IF()
that contained a
FROM_UNIXTIME()
expression
returned incorrect results due to integer overflow.
(Bug#9669)
On Windows, with
lower_case_table_names
set to
2, using ALTER TABLE
to alter a
MEMORY
or InnoDB
table
that had a mixed-case name also improperly changed the name to
lowercase.
(Bug#9660)
The combination of COUNT()
,
DISTINCT
, and
CONCAT()
sometimes triggered a
memory deallocation bug on Windows resulting in a server crash.
(Bug#9593)
INSERT BEFORE
triggers were not being
activated for implicit inserts (LOAD
DATA
).
(Bug#8755)
The ucs2_turkish_ci collation failed with upper('i'). UPPER/LOWER now can return a string with different length. (Bug#8610)
The server timed out SSL connections too quickly on Windows. (Bug#8572)
If a stored function contained a
FLUSH
statement, the function
crashed when invoked. FLUSH
now
is disallowed within stored functions.
(Bug#8409)
OPTIMIZE
run on an InnoDB
table did not return a Table is full
error if there was insufficient room in the tablespace.
(Bug#8135)
An incorrect result was obtained for columns that included an
aggregate function as part of an expression, and when
WITH ROLLUP
was used with GROUP
BY
.
(Bug#7914)
Queries with ROLLUP
returned wrong results
for expressions containingGROUP BY
columns.
(Bug#7894)
The second invocation of a stored procedure that selected from a
view defined as a join using ON
in the join
condition could cause the server to crash.
(Bug#6866)
INSERT BEFORE
triggers were not being
activated for
INSERT ...
SELECT
statements.
(Bug#6812)
INSERT
or
UPDATE
when the
WHERE
clause contained a correlated subquery
that referred to a column of the table being modified caused the
server to crash.
(Bug#6384)
MySQL was adding a DEFAULT
clause to
ENUM
columns that included no
explicit DEFAULT
and were defined as
NOT NULL
. (This is supposed to happen only
for columns that are NULL
.)
(Bug#6267)
Using ALTER TABLE
for a table
that had a trigger caused a crash when executing a statement
that activated the trigger, and also a crash later with
USE
for
the database containing the table.
(Bug#5894)db_name
Triggers with dropped functions caused crashes. (Bug#5893)
Triggers were not being activated for multiple-table
UPDATE
or
DELETE
statements.
(Bug#5860)
The incorrect sequence of statements HANDLER
without a
preceding tbl_name
READ
index_name
NEXTHANDLER
for an
tbl_name
READ index_name
=
(value_list
)InnoDB
table resulted in a server crash
rather than an error.
(Bug#5373)
Multiple-table DELETE
always
deleted on the fly from the first table that was to be deleted
from. In some cases, when using many tables and when necessary
to access the same row twice in the first table, some rows to be
deleted from other tables could be missed.
User Comments
Add your own comment.