End of Product LifecycleActive development and support for MySQL Database Server versions 3.23, 4.0, and 4.1 has ended. For details, see http://www.mysql.com/about/legal/lifecycle/#calendar. Please consider upgrading to a recent version. Further updates to the content of this manual will be minimal. All formats of this manual will continue to be available until 31 Dec 2010.
Functionality Added or Changed
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).
On Windows, the MySQL configuration files included in the
package now use .ini instead of
.cnf as the file name suffix.
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)
InnoDB: The
innodb_autoextend_increment
startup option that was introduced in release 4.1.5 was made a
settable global variable. (Bug #5736)
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 enable MySQL to
delete the .frm file. Maybe
DROP TABLE should issue a
warning in this case.
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.10, “InnoDB Multi-Versioning”.
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).
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).
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.)
Bugs Fixed
Replication:
SET
COLLATION_SERVER... statements replicated by the
slave SQL thread no longer advance its position. This is so
that, if the thread is interrupted before the update is
completed, it later performs the
SET
again. (Bug #5705)
The server sometimes chose a nonoptimal execution plan for a prepared statement executed with changed placeholder values. (Bug #6042)
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: CREATE TEMPORARY TABLE ...
ENGINE=InnoDB terminated mysqld
when running in
innodb_file_per_table mode.
Now, per-table for temporary tables are created in the
temporary directory used by mysqld. (Bug
#5137)
InnoDB: The FOREIGN KEY
parser did not permit ALTER
TABLE on tables whose names contained
# characters. (Bug #5856)
InnoDB: ALTER TABLE
did
not work correctly. (Bug #5851)
t DISCARD TABLESPACE
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)
An attempt to execute a prepared statement with a subquery inside a boolean expression caused the server to crash. (Bug #5987)
The server crashed when character set conversion was
implicitly used in prepared mode, as in 'abc' LIKE
CONVERT('abc' as utf8). (Bug #5688)
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: 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)
InnoDB: UTF-8 characters were not always
handled correctly in column prefix indexes. (Bug #5975)
If the slave SQL thread finds a syntax error in a query (which should be rare, as the master parsed it successfully), it now stops immediately. (Bug #5711)
Inserting NULL into an
AUTO_INCREMENT column failed when using
prepared statements. (Bug #5510)
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)

User Comments
Add your own comment.