Release all event semaphores at shutdown also in Windows
srv0start.c, srv0srv.c:
make test sometimes failed because lock timeout thread exited without decrementing the InnoDB thread counter
Clean up the working of the main thread; add a tunable parameter srv_max_buf_pool_modified_pct which can be used to make the flush phase in shutdown quicker
Clean up the working of the main thread; add a tunable parameter srv_max_buf_pool_modified_pct which can be used to make the flush phase in shutdown quicker
Call pthread_mutex_destroy() on not used mutex.
Changed comments in .h and .c files from // -> /* */
Added detection of mutex on which one didn't call pthread_mutex_destroy()
Fixed bug in create_tmp_field() which causes a memory overrun in queries that uses "ORDER BY constant_expression"
Added optimisation for ORDER BY NULL
Fix hang introduced by selective deadlock resolution
srv0srv.c, row0mysql.c:
Fix hang introduced by selective deadlock resolution + corruption caused by lock timeout or sel deadl res in ON DELETE CASCADE
Merge InnoDB-4.0.5: new isolation levels READ COMMITTED and READ UNCOMMITTED now supported, selective deadlock resolution
mysqld.cc:
Change MySQL default isolation level to REPEATABLE READ; note that InnoDB has always had that default, and BDB and MyISAM always run at SERIALIZABLE level anyway
Change srv_flush_log_at_trx_commit to ulint, note that ibool is defined as ulint, so this is purely formal change
os0file.c:
Start using unbuffered i/o again in Windows because sequential read using normal i/o was 4 times slower in XP
Redefine sprintf as ut_sprintf inside InnoDB code; some old Unixes may have a pointer as the return type of sprintf
lock0lock.c:
Add safety against buffer overruns in latest deadlock info
srv0srv.c:
Add safety against buffer overruns in SHOW INNODB STATUS
os0thread.h, os0thread.c:
Fix a portability bug introduced in Windows when we changed os_thread_id_t to be the same as os_thread_t
If the default character set was set to non-latin1 then the collation order of DATA_CHAR and DATA_VARCHAR was not defined, and foreign key system tables did not work, because they contain DATA_VARCHAR columns