End of Product Lifecycle. Active development and support for MySQL database server versions 3.23, 4.0, and 4.1 has ended. However, for MySQL 4.0 and 4.1, there is still extended support available. For details, see http://www.mysql.com/company/legal/lifecycle/#calendar. According to the MySQL Lifecycle Policy (see http://www.mysql.com/company/legal/lifecycle/#policy), only Security and Severity Level 1 issues will still be fixed for MySQL 4.0 and 4.1. Please consider upgrading to a recent version (MySQL 5.0 or 5.1).
Functionality added or changed:
InnoDB: The innodb_autoextend_increment
startup option that was introduced in release 4.1.5 was made a
settable global variable.
(Bug#5736)
If a write to a MyISAM table fails because of
a full disk or an exceeded disk quota, it now prints a message
to the error log every 10 minutes, and waits until disk space
becomes available.
(Bug#3248)
TIMESTAMP columns now can store
NULL values. To create such a column, you
must explicitly specify the NULL attribute in
the column specification. (Unlike all other data types,
TIMESTAMP columns are NOT
NULL by default.)
Now if ALTER TABLE converts some column to
TIMESTAMP NOT NULL column it converts
NULL values to current timestamp value (One
can still get old behavior by setting system
TIMESTAMP variable to zero).
Added option --sigint-ignore to the
mysql command line client to make it ignore
SIGINT signals (typically the result of the
user pressing Control-C).
InnoDB: Added the startup option and settable global variable
innodb_max_purge_lag for delaying
INSERT, UPDATE and
DELETE operations when the purge operations
are lagging. The default value of this parameter is zero,
meaning that there are no delays. See
Section 13.2.13, “Implementation of Multi-Versioning”.
InnoDB: If DROP TABLE is invoked on an InnoDB
table for which the .ibd file is missing,
print to error log that the table was removed from the
InnoDB data dictionary, and allow MySQL to
delete the .frm file. Maybe DROP
TABLE should issue a warning in this case.
On Windows, the MySQL configuration files included in the
package now use .ini instead of
.cnf as the file name suffix.
Now if ALTER TABLE converts one
AUTO_INCREMENT column to another
AUTO_INCREMENT column it preserves zero
values (this includes the case that we don't change such column
at all).
Bugs fixed:
InnoDB: Change error code to
HA_ERR_ROW_IS_REFERENCED if we cannot
DROP a parent table referenced by a
FOREIGN KEY constraint; this error number is
less misleading than the previous number
HA_ERR_CANNOT_ADD_FOREIGN, but misleading
still.
(Bug#6202)
Fixed a bug that caused the server to sometimes choose non-optimal execution plan for a prepared statement executed with changed placeholder values. (Bug#6042)
Fixed a bug that caused the server to crash on attempt to execute a prepared statement with a subquery inside a boolean expression. (Bug#5987)
InnoDB: Fixed some (not all) UTF-8 bugs in column prefix indexes. (Bug#5975)
InnoDB: If one updated a column so that its size changed, or
updated it to an externally stored (TEXT or
BLOB) value, then ANOTHER externally stored
column would show up as 512 bytes of good data + 20 bytes of
garbage in a consistent read that fetched the old version of the
row.
(Bug#5960)
Behavior of ALTER TABLE converting column
containing NULL values to
AUTO_INCREMENT column is no longer affected
by NO_AUTO_VALUE_ON_ZERO mode. .
(Bug#5915)
InnoDB: Make the check for excessive semaphore waits tolerate glitches in the system clock (do not crash the server if the system time is adjusted while InnoDB is under load.). (Bug#5898)
InnoDB: Fixed a bug in the InnoDB FOREIGN KEY
parser that prevented ALTER TABLE of tables
containing “ # ” in their names.
(Bug#5856)
InnoDB: ALTER TABLE
did
not work correctly.
(Bug#5851)t DISCARD TABLESPACE
Fixed that if the slave SQL thread found a syntax error in a query (which should be rare, as the master parsed it successfully), it stops. (Bug#5711)
Fixed slave SQL thread so that the SET
COLLATION_SERVER... statements it replicates don't
advance its position (so that if it gets interrupted before the
actual update query, it later redoes the
SET).
(Bug#5705)
Fixed a bug that caused the server to crash when character set
conversion was implicitly used in prepared mode; for example, as
in 'abc' LIKE CONVERT('abc' as utf8).
(Bug#5688)
Fixed a bug when inserting NULL into an
AUTO_INCREMENT column failed, when using
prepared statements.
(Bug#5510)
The mysql_change_user() C API
function now frees all prepared statements associated with the
connection.
(Bug#5315)
InnoDB: SHOW CREATE TABLE now obeys the
SET SQL_MODE=ANSI and SET
SQL_QUOTE_SHOW_CREATE=0 settings.
(Bug#5292)
InnoDB: Fixed a bug that caused CREATE TEMPORARY TABLE
... ENGINE=InnoDB to terminate
mysqld when running in
innodb_file_per_table mode. Per-table
tablespaces for temporary tables from now on are created in the
temporary directory of mysqld.
(Bug#5137)

User Comments
Add your own comment.