End of Product Lifecycle. Active 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:
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.10, “InnoDB
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:
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)
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)
The server sometimes chose a nonoptimal execution plan for a prepared statement executed with changed placeholder values. (Bug#6042)
An attempt to execute a prepared statement with a subquery inside a boolean expression caused the server to crash. (Bug#5987)
InnoDB
: UTF-8 characters were not always
handled correctly 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
: The FOREIGN KEY
parser di not allow ALTER TABLE
on tables whose names contained #
characters.
(Bug#5856)
InnoDB
: ALTER TABLE
did
not work correctly.
(Bug#5851)t
DISCARD TABLESPACE
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)
The server crashed when character set conversion was implicitly
used in prepared mode, as in 'abc' LIKE CONVERT('abc'
as utf8)
.
(Bug#5688)
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
: 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)
User Comments
Add your own comment.