Fixed BUG#15650: DELETE with LEFT JOIN crashes server
with innodb_locks_unsafe_for_binlog.
Fixed compilation problem with non-C99 compilers
in btr0sea.c
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.
Fix bug #12308 : do not roll back the whhole transaction in a lock wait timeout error, just roll back the latest SQL statement; note that the locks set in the latest SQL statements remain, as InnoDB does not know what locks were set in which SQL statement
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