We again use unbuffered disk I/O to data files in Windows. Windows XP and Windows 2000 read performance seems to be very poor with normal I/O.
Tuned range estimator so that index range scans are preferred over full index scans.
Allow dropping and creating a table even if innodb_force_recovery is set. One can use this to drop a table which would cause a crash in rollback or purge, or if a failed table import causes a runaway rollback in recovery.
Fixed a bug present in 3.23.52, 4.0.3, 4.0.4:
InnoDB startup could take very long or even
crash on some Windows 95/98/ME computers.
Fixed a bug: fast shutdown (which is the default) sometimes was slowed down by purge and insert buffer merge.
Fixed a bug: doing a big SELECT from a table where no rows were visible in a consistent read could cause a very long (> 600 seconds) semaphore wait in btr0cur.c line 310.
Fixed a bug: the AUTO-INC lock was held to the end of the transaction if it was granted after a lock wait. This could cause unnecessary deadlocks.
Fixed a bug: If you created a temporary table inside LOCK TABLES, and used that temporary table, that caused an assertion failure in ha_innobase.cc.
Fixed a bug: If SHOW INNODB STATUS, innodb_monitor, or
innodb_lock_monitor had to print several hundred transactions
in one report, and the output became truncated,
InnoDB would hang, printing to the error
log many waits for a mutex created at srv0srv.c, line 1621.
Fixed a bug: SHOW INNODB STATUS on Unix always reported average file read size as 0 bytes.