srv_printf_innodb_monitor(): Removed extraneous rewind() call.
The caller of this function calls rewind() if necessary.
In this way, we avoid rewind()ing stderr in
srv_lock_timeout_and_monitor_thread().
innobase/srv/srv0srv.c:
srv_printf_innodb_monitor(): Removed extraneous rewind() call.
The caller of this function calls rewind() if necessary.
In this way, we avoid rewind()ing stderr in
srv_lock_timeout_and_monitor_thread().
srv_lock_timeout_and_monitor_thread(): write to srv_monitor_file
only if --innodb_status_file=1
innobase/srv/srv0srv.c:
srv_lock_timeout_and_monitor_thread(): write to srv_monitor_file
only if --innodb_status_file=1
innobase/dict/dict0dict.c:
dict_scan_to(): skip quoted strings while scanning for the keyword
dict_create_foreign_constraints_low(): allow quote immediately after CONSTRAINT
Fix bug #3478: InnoDB's FOREIGN KEY tables treated table and database names as case-insensitive; RENAME TABLE t to T would hang in an endless loop if t had a foreign key constraint defined on it
dict0dict.c:
Fix bug #3478: InnoDB's FOREIGN KEY tables treated table and database names as case-insensitive; RENAME TABLE t to T would hang in an endless loop if t had a foreign key constraint defined on it; fix also a hang that would occur if one tried in ALTER TABLE or RENAME TABLE to create a foreign key constraint name that collided with another existing name
innobase/dict/dict0crea.c:
Fix bug #3478: InnoDB's FOREIGN KEY tables treated table and database names as case-insensitive; RENAME TABLE t to T would hang in an endless loop if t had a foreign key constraint defined on it
innobase/dict/dict0load.c:
Fix bug #3478: InnoDB's FOREIGN KEY tables treated table and database names as case-insensitive; RENAME TABLE t to T would hang in an endless loop if t had a foreign key constraint defined on it
innobase/dict/dict0dict.c:
Fix bug #3478: InnoDB's FOREIGN KEY tables treated table and database names as case-insensitive; RENAME TABLE t to T would hang in an endless loop if t had a foreign key constraint defined on it; fix also a hang that would occur if one tried in ALTER TABLE or RENAME TABLE to create a foreign key constraint name that collided with another existing name
innobase/eval/eval0eval.c:
Fix bug #3478: InnoDB's FOREIGN KEY tables treated table and database names as case-insensitive; RENAME TABLE t to T would hang in an endless loop if t had a foreign key constraint defined on it
innobase/pars/pars0pars.c:
Fix bug #3478: InnoDB's FOREIGN KEY tables treated table and database names as case-insensitive; RENAME TABLE t to T would hang in an endless loop if t had a foreign key constraint defined on it
innobase/row/row0mysql.c:
Fix bug #3478: InnoDB's FOREIGN KEY tables treated table and database names as case-insensitive; RENAME TABLE t to T would hang in an endless loop if t had a foreign key constraint defined on it
Add typecast from ulint to ssize_t in pread and pwrite, so that the type is according to the Linux man page; this will probably not help to fix the HP-UX 32-bit pwrite failure, since the compiler should do the appropriate typecasts anyway
innobase/os/os0file.c:
Add typecast from ulint to ssize_t in pread and pwrite, so that the type is according to the Linux man page; this will probably not help to fix the HP-UX 32-bit pwrite failure, since the compiler should do the appropriate typecasts anyway
Fix bug #5961: release the dictionary latch during a long cascaded FOREIGN KEY operation, so that we do not starve other users
innobase/row/row0ins.c:
Fix bug #5961: release the dictionary latch during a long cascaded FOREIGN KEY operation, so that we do not starve other users
innobase/row/row0mysql.c:
Fix bug #5961: release the dictionary latch during a long cascaded FOREIGN KEY operation, so that we do not starve other users
Fix bug #5960: if one updated a column so that its size changed, or updated it to an externally stored (TEXT or BLOB) value, then ANOTHER externally stored column would show up as 512 bytes of good data + 20 bytes of garbage in a consistent read that fetched the old version of the row
innobase/trx/trx0rec.c:
Fix bug #5960: if one updated a column so that its size changed, or updated it to an externally stored (TEXT or BLOB) value, then ANOTHER externally stored column would show up as 512 bytes of good data + 20 bytes of garbage in a consistent read that fetched the old version of the row
in the error monitor thread. (Bug #5898)
innobase/include/sync0arr.h:
sync_array_print_long_waits(): return error status
innobase/srv/srv0srv.c:
srv_error_monitor_thread(): Keep track on successive fatal timeouts,
and crash the server only if the timeouts have been exceeded for
several times in succession.
innobase/sync/sync0arr.c:
sync_array_print_long_waits(): return error status
innobase/dict/dict0dict.c:
dict_strip_comments(): do not look for comments within quotes (Bug #5856)
innobase/row/row0mysql.c:
row_drop_table_for_mysql(): Remove a memory leak
Fix bug #5180: having a column prefix index in the primary key, and the same column fully in a secondary key could cause an assertion failure in row_build_row_ref()
innobase/pars/pars0opt.c:
Fix bug #5180: having a column prefix index in the primary key, and the same column fully in a secondary key could cause an assertion failure in row_build_row_ref()
innobase/row/row0row.c:
Fix bug #5180: having a column prefix index in the primary key, and the same column fully in a secondary key could cause an assertion failure in row_build_row_ref()
innobase/dict/dict0dict.c:
Fix bug #5180: having a column prefix index in the primary key, and the same column fully in a secondary key could cause an assertion failure in row_build_row_ref()
innobase/include/dict0dict.h:
Fix bug #5180: having a column prefix index in the primary key, and the same column fully in a secondary key could cause an assertion failure in row_build_row_ref()
Correct the comment on the 'waiting' field in sync_cell_struct
innobase/sync/sync0arr.c:
Correct the comment on the 'waiting' field in sync_cell_struct
Improve the comment on stored_select_lock_type
ha_innodb.cc:
Let InnoDB remember select_lock_type inside LOCK TABLES, also over plain consistent read SELECTs; fix Bug #5538 : assertion failure when using mysqldump with the -l option; in MERGING this patch to 4.1, there may be PROBLEMS; that is because previous patch was never merged to 4.1; Heikki Tuuri has to polish the code in 4.1 after this patch has been merged.
sql/ha_innodb.cc:
Let InnoDB remember select_lock_type inside LOCK TABLES, also over plain consistent read SELECTs; fix Bug #5538 : assertion failure when using mysqldump with the -l option; in MERGING this patch to 4.1, there may be PROBLEMS; that is because previous patch was never merged to 4.1; Heikki Tuuri has to polish the code in 4.1 after this patch has been merged.
innobase/include/row0mysql.h:
Improve the comment on stored_select_lock_type
Add more precise diagnostics about the state of the I/O threads of InnoDB; print in SHOW INNODB STATUS if the event wait semaphore of each I/O thread is set
innobase/os/os0file.c:
Add more precise diagnostics about the state of the I/O threads of InnoDB; print in SHOW INNODB STATUS if the event wait semaphore of each I/O thread is set
innobase/btr/btr0btr.c:
Update links to the user manual
innobase/buf/buf0buf.c:
Update links to the user manual
innobase/dict/dict0dict.c:
Update links to the user manual
innobase/fsp/fsp0fsp.c:
Update links to the user manual
innobase/log/log0log.c:
Update links to the user manual
innobase/log/log0recv.c:
Update links to the user manual
innobase/os/os0file.c:
Update links to the user manual
innobase/row/row0mysql.c:
Update links to the user manual
innobase/ut/ut0dbg.c:
Update links to the user manual
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.
innobase/buf/buf0rea.c:
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)
sql/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)
sql/mysqld.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)
innobase/include/srv0start.h:
Changes for NetWare to exit the InnoDB gracefully instead of crashing the server (patch by PRam@novell.com, polished a little by Heikki Tuuri)
innobase/include/ut0dbg.h:
Changes for NetWare to exit the InnoDB gracefully instead of crashing the server (patch by PRam@novell.com, polished a little by Heikki Tuuri)
innobase/ut/ut0dbg.c:
Changes for NetWare to exit the InnoDB gracefully instead of crashing the server (patch by PRam@novell.com, polished a little by Heikki Tuuri)
innobase/ut/ut0mem.c:
Changes for NetWare to exit the InnoDB gracefully instead of crashing the server (patch by PRam@novell.com, polished a little by Heikki Tuuri)
innobase/srv/srv0start.c:
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
innobase/row/row0mysql.c:
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
innobase/include/os0file.h:
Improve the comment of os_file_create_tmpfile()
innobase/os/os0file.c:
os_file_create_tmpfile(): Use create_temp_file()
via innobase_mysql_tmpfile() unless UNIV_HOTBACKUP is defined
sql/ha_innodb.cc:
Added innobase_mysql_tmpfile(), a wrapper around create_temp_file()
InnoDB: Implement tmpfile() differently on Windows (Bug #3998)
innobase/dict/dict0dict.c:
Check the return value of os_file_create_tmpfile(),
as it can now return NULL
innobase/include/os0file.h:
Note that os_file_create_tmpfile() can now return NULL
innobase/include/srv0srv.h:
Add a new server flag (srv_innodb_status) to disable
the creation of innodb_status.<pid> files
innobase/lock/lock0lock.c:
Check the return value of os_file_create_tmpfile(),
as it can now return NULL
innobase/os/os0file.c:
os_file_create_tmpfile(): separate implementation for Win32;
errors will be reported but will not cause assertion failure
innobase/srv/srv0srv.c:
Add a new server flag (srv_innodb_status) to disable
the creation of innodb_status.<pid> files
innobase/srv/srv0start.c:
innobase_start_or_create_for_mysql(): create srv_monitor_file
with tmpfile() or with a visible name "innodb_status.<pid>",
depending on the setting of the flag srv_innodb_status.
sql/ha_innodb.cc:
innobase_init(): initialize srv_innodb_status
update_table_comment(), get_foreign_key_create_info(): replace
tmpfile() with os_file_create_tmpfile()
sql/ha_innodb.h:
Add new Boolean flag, innobase_create_status_file.
sql/mysqld.cc:
Add new Boolean flag, innodb_status_file
Add still more diagnostic code to track buffer pool corruption in one AMD64/Linux computer
innobase/include/page0page.ic:
Add still more diagnostic code to track buffer pool corruption in one AMD64/Linux computer
innobase/row/row0sel.c:
Add still more diagnostic code to track buffer pool corruption in one AMD64/Linux computer
Add more diagnostic code to determine when an lsn field gets corrupt; tracks a crash reported from one Itanium computer
innobase/os/os0file.c:
Add more diagnostic code to determine when an lsn field gets corrupt; tracks a crash reported from one Itanium computer
innobase/buf/buf0flu.c:
Add more diagnostic code to determine when an lsn field gets corrupt; tracks a crash reported from one Itanium computer
Add diagnostic code to print hex dumps and track corruption of next record offsets in an index page
innobase/include/page0page.ic:
Add diagnostic code to print hex dumps and track corruption of next record offsets in an index page
innobase/row/row0sel.c:
Add diagnostic code to print hex dumps and track corruption of next record offsets in an index page
(Bug #4446)
innobase/row/row0ins.c:
row_ins_foreign_check_on_constraint(): limit recursion for UPDATE too
mysql-test/r/innodb.result:
Add test for recursion depth limit
mysql-test/t/innodb.test:
Add test for recursion depth limit
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
innobase/btr/btr0cur.c:
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
Decrement n_lock_table_exp in lock_table_remove_low()
instead of lock_table_dequeue().
Do not empty lock_heap in lock_release_tables_off_kernel().
innobase/lock/lock0lock.c:
Decrement n_lock_table_exp in lock_table_remove_low()
instead of lock_table_dequeue().
Do not empty lock_heap in lock_release_tables_off_kernel().
innobase/include/lock0lock.h:
Improve comments regarding LOCK_TABLE_EXP
innobase/include/row0mysql.h:
Rename row_unlock_table_for_mysql() to row_unlock_tables_for_mysql()
and improve its comment
innobase/include/trx0trx.h:
Rename n_tables_locked to n_lock_table_exp
innobase/lock/lock0lock.c:
Rename n_tables_locked to n_lock_table_exp
Increment n_lock_table_exp already in lock_table_create()
Replace some ut_ad() assertions with ut_a()
innobase/row/row0mysql.c:
Rename n_tables_locked to n_lock_table_exp
Rename row_unlock_table_for_mysql() to row_unlock_tables_for_mysql()
and improve its comment
innobase/trx/trx0trx.c:
Rename n_tables_locked to n_lock_table_exp
sql/ha_innodb.cc:
Rename n_tables_locked to n_lock_table_exp
Rename row_unlock_table_for_mysql() to row_unlock_tables_for_mysql()
(Bug #2694)
innobase/include/srv0srv.h:
Add srv_fatal_semaphore_wait_threshold
innobase/include/sync0arr.h:
Improve comment of sync_array_print_long_waits()
innobase/row/row0mysql.c:
Lengthen the srv_fatal_semaphore_wait_threshold by 2 hours during
CHECK TABLE
innobase/srv/srv0srv.c:
Add srv_fatal_semaphore_wait_threshold
innobase/sync/sync0arr.c:
Improve comment of sync_array_print_long_waits().
Replace the fixed timeout of 600 seconds with
srv_fatal_semaphore_wait_threshold.
innobase_start_or_create_for_mysql(): Rename innodb.status.<pid>
to innodb_status.<pid> to avoid problems on VMS
innobase/srv/srv0start.c:
innobase_start_or_create_for_mysql(): Rename innodb.status.<pid>
to innodb_status.<pid> to avoid problems on VMS
Document the handling of quoted strings
innobase/pars/pars0lex.l:
Document the handling of quoted strings
innobase/pars/lexyy.c:
Document the handling of quoted strings
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
innobase/mem/mem0dbg.c:
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
Improve documentation of mach_*write_*compressed()
mtr0log.ic, mtr0log.h:
Improve documentation of mlog_write_initial_log_record_fast()
innobase/include/mtr0log.h:
Improve documentation of mlog_write_initial_log_record_fast()
innobase/include/mtr0log.ic:
Improve documentation of mlog_write_initial_log_record_fast()
innobase/include/mach0data.h:
Improve documentation of mach_*write_*compressed()
innobase/include/mach0data.ic:
Improve documentation of mach_*write_*compressed()
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
innobase/mem/mem0dbg.c:
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
innobase/include/mem0dbg.h:
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
Put asserts that make sure srv_que_task_enqueue() is never called under MySQL
innobase/srv/srv0que.c:
Put asserts that make sure srv_que_task_enqueu() is never called under MySQL
innobase/que/que0que.c:
Put asserts that make sure srv_que_task_enqueu() is never called under MySQL
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
innobase/log/log0log.c:
Revert 1.1730.18.1 about UNIV_LOG_DEBUG: debug code is often needed in debugging the production version
innobase/log/log0recv.c:
Revert 1.1730.18.1 about UNIV_LOG_DEBUG: debug code is often needed in debugging the production version
innobase/include/log0log.ic:
Revert 1.1730.18.1 about UNIV_LOG_DEBUG: debug code is often needed in debugging the production version
innobase/include/log0log.h:
Revert the patch that put log debug code behind UNIV_LOG_DEBUG
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
innobase/srv/srv0que.c:
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