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
Added a startup option and settable system variable
innodb_table_locks for making
LOCK
TABLE acquire locks on InnoDB
tables. The default value is 1, which means that
LOCK TABLES also causes
InnoDB to take a table lock internally. In
applications using autocommit =
1 and LOCK TABLES,
InnoDB's internal table locks (added
in MySQL 4.0.20 and 4.1.2) can cause deadlocks. You can set
innodb_table_locks = 0 in
my.cnf to remove that problem.
In addition, SHOW TABLE STATUS
now shows the creation time of InnoDB
tables. That this timestamp might not always be correct
because (for example) it was changed by
ALTER TABLE. See
Section 13.2.15, “Restrictions on InnoDB Tables”. (Bug #3299, Bug
#5998)
InnoDB: If
innodb_thread_concurrency
would be exceeded, let a thread sleep 10 ms before entering
the FIFO queue; previously, the value was 50 ms.
MOD() no longer rounds
arguments with a fractional part to integers. Now it returns
exact remainder after division. (Bug #6138)
Bugs Fixed
Security Fix: A missing
UPDATE privilege could be
circumvented by a user having
INSERT and
SELECT privileges for table
with a primary key. (Bug #6173)
Replication: A problem
introduced in MySQL 4.0.21 caused replication slaves to stop
(error 1223) where a connection started a transaction,
performed updates, then issued a
FLUSH TABLES WITH READ
LOCK followed by a
COMMIT. This issue occurred
when using the InnoDB
innobackup script. (Bug #5949)
DATE,
TIME, and
DATETIME columns were not
handled correctly by the binary protocol. The problem was
compiler-specific and could have been observed on HP-UX, AIX,
and Solaris 9, when using native compilers. (Bug #6025)
Selecting from a HEAP table with
key_column IS NOT NULL could cause the
server to crash. The crash could also occur even if all index
parts were not used. (Bug #6082)
FOUND_ROWS() did not work
correctly with LIMIT clause in prepared
statements. (Bug #6088)
libmysqlclient did not convert zero date
values (0000-00-00) to strings correctly.
(Bug #6058)
Invoking the deprecated libmysqlclient
function mysql_create_db()
caused the server to crash. (Bug #6081)
MyISAM indexes could be corrupted when key
values started with character codes below
BLANK. This was caused by the new key sort
order instroduced in MySQL 4.1. (Bug #6151)
InnoDB: Release the dictionary latch during
a long cascaded FOREIGN KEY operation, so
that we do not starve other users doing
CREATE TABLE or other DDL
operation. This caused a notorious 'Long semaphore wait'
message to be printed to the .err log.
(Bug #5961)
Now implicit access to system time zone description tables
(which happens when you set the
time_zone variable or use
CONVERT_TZ() function) does not
require any privileges. (Bug #6116)
TINYINT columns were not
handled correctly in the binary protocol. The problem was
specific to platforms where the C compiler has the
char data type unsigned by default. (Bug
#6024)
libmysqlclient did not convert negative
time values to strings correctly. (Bug #6049)
InnoDB: LOAD DATA
INFILE…REPLACE printed duplicate key errors when
executing the same LOAD statement several
times. (Bug #5835)
Attempting to prepare a statement with
RAND(?) caused the server to
crash. (Bug #5985)
Bad metadata was sent for
SELECT statements not returning
a result set (such as
SELECT ... INTO
OUTFILE) by the prepared statements protocol. (Bug
#6059)
NATURAL JOIN did not work correctly in
prepared statements. . (Bug #6046)
REVOKE ALL PRIVILEGES, GRANT OPTION FROM
did not remove all
privileges correctly. (Bug #5831)
user
Join of tables from different databases having columns with identical names did not work correctly, returning the error Column 'xxx' in field list is ambiguous. (Bug #6050)

User Comments
Add your own comment.