Add diagnostic prints if insert buffer merge is tried to a page whose type is not an index page, try to recover from the situation by discarding the insert buffer records
Print a warning if MySQL uses a partial-field key value prefix in a search; that would not work if the search flag would happen to be HA_READ_PREFIX_LAST
Prepare for 5.x where HA_READ_PREFIX_LAST may pass only a few first bytes of the last field in a key value
ha_innodb.cc:
In 4.0 always assume HA_READ_PREFIX_LAST passes a complete-field prefix of a key value; LIKE queries use a padding trick
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
Backport from 4.0: Fix a major bug in InnoDB query estimator for queries of type SELECT ... WHERE col < x and SELECT ... WHERE col > x; MySQL could pick a table scan though the result set was only a few rows in a big table
The problem yesterday in ERROR_LOCK_VIOLATION was not InnoDB Hot Backup, but some file system backup tool: add to file writes 100 retries with 1 second waits
Test allocation of memory beforehand if we are trying to return a > 2 MB BLOB; normally InnoDB asserts if memory allocation fails
ha_innodb.cc:
Do not fetch all columns if change_active_index() is called during a query; a sum(a), max(a) query seemed to do that, doing unnecessary copying (the change actually made in the previous bk ci)
Free BLOB heap of handle when MySQL calls some ::extra()'s
Add diagnostic prints to determine why the 'queries inside InnoDB' might drift upwards
ha_innodb.cc:
Add more print space to SHOW INNODB STATUS; remove possible memory leak in case there is an error
Remove the warning message that mem allocation spills from the additional mem pool to the OS; this does not hit performance with modern malloc libraries
Backport bugfix from 4.0: combined log file size >= 2 GB could cause log to be written in wrong place
btr0pcur.c:
Backport bugfix from 4.0: index cursor restoration could theoretically fail
Fix bug: an index cursor can theoretically be restored in a wrong place
log0log.c:
Fix bug: if combined log file size is >= 2 GB in a 32-bit computer InnoDB can write log to a wrong position
Merge InnoDB-4.0.7. Support for ON UPDATE CASCADE
sql_select.cc:
Remove superfluous prints to .err log when a locking SELECT fails to a deadlock or a lock wait timeout