Fix bug #5414 in 4.1: srv_max_n_threads was always set to only 1000, regardless of the buffer pool size; undelr very high concurrent loads this could cause an assertion failure in sync0arr.c line 384 when we ran out of wait slots for threads; also innodb_thread_concurrency did not work, because the wait queue also there overflowed at 1000 concurrent threads; also remove redundant code
trx0undo.c:
Add a missing newline to fprints
Change a reference to ibman.php to a reference in the MySQL manual; someone should change the 20 other places in the source code where we still refer to ibman.php
Fix bug: if there was little file I/O in InnoDB, but the insert buffer was used, it could happen that 'Pending normal aio reads' was bigger than 0, but the I/O handler thread did not get waken up in 600 seconds. This resulted in a hang, and crashing of InnoDB.
Changes for NetWare to exit the InnoDB gracefully instead of crashing the server (patch by PRam@novell.com, polished a little by Heikki Tuuri)
mysqld.cc, ha_innodb.cc:
Changes for NetWare to exit the InnoDB gracefully instead of crashing the server (patch by PRam@novell.com, polished a little by Heikki Tuuri)
Fix bug: if we RENAME a table, InnoDB forgot to load the foreign key constraints that reference the new table name, and forgot to check that they are compatible with the table
next-key locking. Using this option the locks InnoDB sets on index
records do not affect the ``gap'' before that index record. Thus, this option
allows phantom problem.
Do not add + 1 to the InnoDB index cardinality estimate if the B-tree just contains one page; the fix made in March 2004 caused InnoDB systematically to overestimate the cardinality of empty or small tables by 1
Won't be pushed as is - separate email sent for internal review.
WL#1717 "binlog-innodb consistency".
Now when mysqld starts, if InnoDB does a crash recovery, we use the binlog name
and position retrieved from InnoDB (corresponding to the last transaction
successfully committed by InnoDB) to cut any rolled back transaction from
the binary log. This is triggered by the --innodb-safe-binlog option.
Provided you configure mysqld to fsync() InnoDB at every commit (using
flush_log_at_trx_commit) and to fsync() the binlog at every write
(using --sync-binlog=1), this behaviour guarantees that a master always has
consistency between binlog and InnoDB, whenever the crash happens.
6 tests to verify that it works.
InnoDB with UNIV_MEM_DEBUG did not compile because a global variable was forgotten when we put back mem_print_info() functions 2 days ago; add that variable
Put back mem_print_info() functions that are used to analyze memory leaks; Marko removed them by accident in his Feb 20th, 2004 patch; these functions are very important for debugging, and should always be kept in the source code base
Revert the patch that put log debug code behind UNIV_LOG_DEBUG
log0log.ic, log0recv.c, log0log.c, log0log.h:
Revert 1.1730.18.1 about UNIV_LOG_DEBUG: debug code is often needed in debugging the production version
Revert Marko's untested changeset 1.1844.1.6 to the stable 4.0 version; stable 4.0 must NOT BE modified except in case of bugs
srv0que.c, srv0que.h:
new file