Functionality added or changed:
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.
Security improvement: Applied a patch to fix a UDF library-loading vulnerability that could result in a buffer overflow and code execution. (CVE-2005-2558)
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.5, “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)
Fixed a portability problem for compiling on Windows with 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)
Fixed a server crash resulting from an attempt to allocate too
much memory when GROUP BY
and
blob_colCOUNT(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: Fixed a duplicate key error that
occurred with REPLACE in a table with an
AUTO-INC column.
(Bug#11005)
Fixed a failure of WITH ROLLUP to 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 20.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)
Fixed bug in the MySQL Instance manager that caused the version
to always be unknown when SHOW
INSTANCE STATUS was issued.
(Bug#10229)
Fixed a server crash resulting from CREATE TABLE ...
SELECT that selected from a table being altered by
ALTER TABLE.
(Bug#10224)
Fixed a server crash resulting from invalid string pointer when
inserting into the mysql.host table.
(Bug#10181)
Consistently report INFORMATION_SCHEMA table
names in uppercase in SHOW TABLE STATUS
output.
(Bug#10059)
Fixed a server crash resulting from accessing
InnoDB tables within stored functions. This
is handled by prohibiting statements that do an implicit or
explicit commit or rollback 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)
Fixed a problem with returning an incorrect result 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)
Fixed a problem causing an incorrect result for columns that
include an aggregate function as part of an expression when
WITH ROLLUP is added to GROUP
BY.
(Bug#7914)
Queries with ROLLUP returned wrong results
for expressions containingGROUP BY columns.
(Bug#7894)
Fixed a server crash resulting from the second invocation of a
stored procedure that selected from a view defined as a join
that used ON in the join conditions.
(Bug#6866)
INSERT BEFORE triggers were not being
activated for INSERT ... SELECT statements.
(Bug#6812)
Fixed a server crash for INSERT or
UPDATE when the WHERE
clause contained a correlated subquery that referred to a column
of the table being modified.
(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 did always delete on
the fly from the first table that was to be deleted from. In
some cases, when using many tables and it was necessary to
access the same row twice in the first table, we could miss some
rows-to-be-deleted from other tables. This is now fixed.

User Comments
Add your own comment.