Fixed bugs:
#16814: SHOW INNODB STATUS format error in LATEST FOREIGN KEY ERROR section
dict_foreign_key_error_report(): Always print a newline after invoking
dict_print_info_on_foreign_key_in_create_format().
#16827: Better InnoDB error message if ibdata files omitted from my.cnf.
#17126: CHECK TABLE on InnoDB causes a short hang during check of adaptive hash.
CHECK TABLE blocking other queries, by releasing the btr_search_latch
periodically during the adaptive hash table validation.
#17405: Valgrind: conditional jump or move depends on uninitialised valuesw.
buf_block_init(): Reset magic_n, buf_fix_count, and io_fix to avoid testing
uninitialised variables.
#18077: InnoDB uses full explicit table locks in stored FUNCTION.
#18238: When locks exhaust the buffer pool, InnoDB does not roll back the trx.
Check in pessimistic insert and update if the buffer pool is exhausted by locks.
#18252: Disk space leaks in updates of InnoDB BLOB rows.
btr_cur_pessimistic_update(): Invoke rec_get_offset() after rec_set_field_extern_bits().
btr_store_big_rec_extern_fields(): Note that offsets will no longer be valid
after calling this function.
#18283: When InnoDB returns error 'lock table full', MySQL can write to binlog too much.
#18384: InnoDB memory leak on duplicate key errors if row has many columns.
row_ins_duplicate_error_in_clust(): Call mem_heap_free(heap) at func_exit if needed.
#18350: Use consistent read in CREATE ... SELECT .. if innodb_locks_unsafe_for_binlog is used.
Fixed bugs:
BUG#15991: "innodb-file-per-table + symlink database + rename = crash"
BUG#15650: "DELETE with LEFT JOIN crashes server"
BUG#15308: "Problem of Order with Enum Column in Primary Key"
BUG#14189: "VARBINARY and BINARY variables: trailing space ignored"
table' lockup".
Changes from the innodb-5.0-ss92 snapshot.
Do not call os_file_create_tmpfile() at runtime. Instead, create
all tempfiles at startup and guard access to them with mutexes.
table' lockup".
Changes from the innodb-4.1-ss11 snapshot.
Do not call os_file-create_tmpfile() at runtime. Instead, create
a tempfile at startup and guard access to it with a mutex.
Also, fix bugs:
10511: "Wrong padding of UCS2 CHAR columns in ON UPDATE CASCADE";
13778: "If FOREIGN_KEY_CHECKS=0, one can create inconsistent FOREIGN
KEYs". When FOREIGN_KEY_CHECKS=0 we still need to check that
datatypes between foreign key references are compatible.
Also, added test cases (also for bug 9802).
to crash".
Changes from snapshot innodb-5.0-ss52.
Note that buf_block_t::index should be protected by btr_search_latch
or an s-latch or x-latch on the index page.
btr_search_drop_page_hash_index(): Read block->index while holding
btr_search_latch and use the cached value in the loop. Remove some
redundant assertions.
Also fix 13778. When FOREIGN_KEY_CHECKS=0 we still need to check that
datatypes between foreign key references are compatible.
Also added test cases to 9802.
Add a sanity check to page_rec_is_comp; a new univ.i macro UNIV_RELEASE_NOT_YET_STABLE controls such sanity checks that we will remove after the release is stable enough
Do not use __builtin_expect etc. with the Intel ICC compiler, as the compiler crashed in btr0cur.c; the patch was submitted by Axel Schwenke (Bug #11510)
Push the patch of Jan Lindstrom: better comments
ha_innodb.cc:
Partial fix for Bug #12263 : we let InnoDB always to perform a rollback on the trx object if MySQL closes a connection; but we do print a warning to the .err log if an InnoDB transaction was active; we may remove that print later, since the situation really is not a bug; MySQL just is not aware that some cursor operation started an InnoDB transaction
data files. Previously, writes were flushed until the doublewrite
buffer was created. That would be too slow on systems where
os_file_flush() [or fsync(2)] is slow. (Bug #12125)
cursors for InnoDB. The idea of the patch is that if MySQL requests
a consistent read view, we open one when open a cursor, set is as the
active view to a transaction when fetch from the cursor, and close
together with cursor close. This patch is associated to bugs #11813,
#11832, and #11833. Contains after review fixes.