In INSERT INTO t1 SELECT ... FROM t2 WHERE ... MySQL previously set
a table level read lock on t2. This lock is now removed.
Fixed a bug: if the combined size of InnoDB log files was >= 2 GB
in a 32-bit computer, InnoDB would write log in a wrong
position. That could make crash recovery and InnoDB Hot Backup
to fail in log scan.
Fixed a bug: index cursor restoration could theoretically fail.
Fixed a bug: an assertion in btr0sea.c, in function
btr_search_info_update_slow could theoretically fail in a race of 3 threads.
Fixed a bug: purge could cause a hang in a BLOB table where the
primary key index tree was of height 1. Symptom: semaphore waits
caused by an X-latch set in btr_free_externally_stored_field().
Fixed a bug: if MySQL estimated a query in the middle of a SELECT statement,
InnoDB could hang on the adaptive hash index latch in btr0sea.c.
Fixed a bug: InnoDB could report table corruption and assert in
page_dir_find_owner_slot() if an adaptive hash index search
coincided with purge or an insert.
Fixed a bug: some file system snapshot tool in Windows 2000 could
cause an InnoDB file write to fail with error 33 ERROR_LOCK_VIOLATION.
In synchronous writes InnoDB now retries the write 100 times
at 1 second intervals.
An outstanding bug: SET FOREIGN_KEY_CHECKS=0 is not replicated properly
in the MySQL replication. The fix will appear in 4.0.11 and will probably
not be backported to 3.23.
Fixed bug in InnoDB page0cur.c in function page_cur_search_with_match
which caused InnoDB to remain on the same page forever.
This bug is evident only in tables with more than one page.