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
Implement ut_realloc
lexyy.c, pars0lex.l:
Start using ut_malloc, ut_free, ut_realloc in pars0lex.l and lexyy.c; mem_realloc was broken; eliminate possible memcpy(NULL, ..., 0) from string_append()
innobase/pars/pars0lex.l:
Start using ut_malloc, ut_free, ut_realloc in pars0lex.l and lexyy.c; mem_realloc was broken; eliminate possible memcpy(NULL, ..., 0) from string_append()
innobase/pars/lexyy.c:
Start using ut_malloc, ut_free, ut_realloc in pars0lex.l and lexyy.c; mem_realloc was broken; eliminate possible memcpy(NULL, ..., 0) from string_append()
innobase/ut/ut0mem.c:
Implement ut_realloc
innobase/include/ut0mem.h:
Implement ut_realloc
Remove broken mem_realloc(); a patch to remove its uses in pars0lex.l and fil0fil.c will soon follow
innobase/include/mem0mem.h:
Remove broken mem_realloc(); a patch to remove its uses in pars0lex.l and fil0fil.c will soon follow
innobase/include/mem0mem.ic:
Remove broken mem_realloc(); a patch to remove its uses in pars0lex.l and fil0fil.c will soon follow
Inside LOCK TABLES, use either LOCK_S or LOCK_X in locking reads; an improvent over the previous patch
sql/ha_innodb.cc:
Inside LOCK TABLES, use either LOCK_S or LOCK_X in locking reads; an improvent over the previous patch
innobase/include/row0mysql.h:
Inside LOCK TABLES, use either LOCK_S or LOCK_X in locking reads; an improvent over the previous patch
innobase/row/row0mysql.c:
Inside LOCK TABLES, use either LOCK_S or LOCK_X in locking reads; an improvent over the previous patch
configure.in:
Ensure that innodb gets system specific CFLAGS and CXXFLAGS
innobase/os/os0file.c:
Don't use pread/pwrite on systems where these are not working.
This fixes a bug on HPUX, where InnoDB didn't create the ibdata1 file correctly.
Update of VC++ project files.
VC++Files/mysqlmanager/childfrm.cpp:
Rename: VC++Files/mysqlmanager/CHILDFRM.CPP -> VC++Files/mysqlmanager/childfrm.cpp
VC++Files/mysqlmanager/childfrm.h:
Rename: VC++Files/mysqlmanager/CHILDFRM.H -> VC++Files/mysqlmanager/childfrm.h
VC++Files/mysqlmanager/mainfrm.cpp:
Rename: VC++Files/mysqlmanager/MAINFRM.CPP -> VC++Files/mysqlmanager/mainfrm.cpp
VC++Files/mysqlmanager/mainfrm.h:
Rename: VC++Files/mysqlmanager/MAINFRM.H -> VC++Files/mysqlmanager/mainfrm.h
VC++Files/mysqlmanager/mysqlmanager.dsp:
Rename: VC++Files/mysqlmanager/MySqlManager.dsp -> VC++Files/mysqlmanager/mysqlmanager.dsp
VC++Files/mysqlmanager/mysqlmanager.mak:
Rename: VC++Files/mysqlmanager/MySqlManager.mak -> VC++Files/mysqlmanager/mysqlmanager.mak
VC++Files/mysqlmanager/resource.h:
Rename: VC++Files/mysqlmanager/RESOURCE.H -> VC++Files/mysqlmanager/resource.h
VC++Files/mysqlmanager/stdafx.cpp:
Rename: VC++Files/mysqlmanager/STDAFX.CPP -> VC++Files/mysqlmanager/stdafx.cpp
VC++Files/mysqlmanager/stdafx.h:
Rename: VC++Files/mysqlmanager/STDAFX.H -> VC++Files/mysqlmanager/stdafx.h
VC++Files/mysqlmanager/toolsql.cpp:
Rename: VC++Files/mysqlmanager/TOOLSQL.CPP -> VC++Files/mysqlmanager/toolsql.cpp
VC++Files/mysqlmanager/toolsql.h:
Rename: VC++Files/mysqlmanager/TOOLSQL.H -> VC++Files/mysqlmanager/toolsql.h
VC++Files/mysqlmanager/RES/bitmap1.bmp:
Rename: VC++Files/mysqlmanager/RES/BITMAP1.BMP -> VC++Files/mysqlmanager/RES/bitmap1.bmp
VC++Files/mysqlmanager/RES/bitmap3.bmp:
Rename: VC++Files/mysqlmanager/RES/BITMAP3.BMP -> VC++Files/mysqlmanager/RES/bitmap3.bmp
VC++Files/mysqlmanager/RES/bmp00001.bmp:
Rename: VC++Files/mysqlmanager/RES/BMP00001.BMP -> VC++Files/mysqlmanager/RES/bmp00001.bmp
VC++Files/mysqlmanager/RES/bmp00002.bmp:
Rename: VC++Files/mysqlmanager/RES/BMP00002.BMP -> VC++Files/mysqlmanager/RES/bmp00002.bmp
VC++Files/mysqlmanager/RES/database.bmp:
Rename: VC++Files/mysqlmanager/RES/DATABASE.BMP -> VC++Files/mysqlmanager/RES/database.bmp
VC++Files/mysqlmanager/RES/fontd.bmp:
Rename: VC++Files/mysqlmanager/RES/FONTD.BMP -> VC++Files/mysqlmanager/RES/fontd.bmp
VC++Files/mysqlmanager/RES/fontu.bmp:
Rename: VC++Files/mysqlmanager/RES/FONTU.BMP -> VC++Files/mysqlmanager/RES/fontu.bmp
VC++Files/mysqlmanager/RES/query_ex.bmp:
Rename: VC++Files/mysqlmanager/RES/QUERY_EX.BMP -> VC++Files/mysqlmanager/RES/query_ex.bmp
VC++Files/mysqlmanager/RES/toolbar.bmp:
Rename: VC++Files/mysqlmanager/RES/TOOLBAR.BMP -> VC++Files/mysqlmanager/RES/toolbar.bmp
BUILD/compile-pentium-valgrind-max:
Use MYSQL_SERVER_SUFFIX
VC++Files/bdb/bdb.dsp:
Use new version of MYSQL_SERVER_SUFFIX
VC++Files/client/mysql.dsp:
Use new version of MYSQL_SERVER_SUFFIX
VC++Files/client/mysqladmin.dsp:
Use new version of MYSQL_SERVER_SUFFIX
VC++Files/client/mysqldump.dsp:
Use new version of MYSQL_SERVER_SUFFIX
VC++Files/client/mysqlimport.dsp:
Use new version of MYSQL_SERVER_SUFFIX
VC++Files/client/mysqlshow.dsp:
Use new version of MYSQL_SERVER_SUFFIX
VC++Files/copy_mysql_files.bat:
Assume we are in correct directory
VC++Files/innobase/innobase.dsp:
Use new version of MYSQL_SERVER_SUFFIX
Remove old files
VC++Files/isamchk/isamchk.dsp:
Use new version of MYSQL_SERVER_SUFFIX
VC++Files/libmysqld/libmysqld.dsp:
Use new version of MYSQL_SERVER_SUFFIX
VC++Files/my_print_defaults/my_print_defaults.dsp:
Use new version of MYSQL_SERVER_SUFFIX
VC++Files/myisamchk/myisamchk.dsp:
Use new version of MYSQL_SERVER_SUFFIX
VC++Files/myisamlog/myisamlog.dsp:
Use new version of MYSQL_SERVER_SUFFIX
VC++Files/myisampack/myisampack.dsp:
Use new version of MYSQL_SERVER_SUFFIX
VC++Files/mysql.dsw:
Use new version of MYSQL_SERVER_SUFFIX
VC++Files/mysqlbinlog/mysqlbinlog.dsp:
Use new version of MYSQL_SERVER_SUFFIX
VC++Files/mysqlcheck/mysqlcheck.dsp:
Use new version of MYSQL_SERVER_SUFFIX
VC++Files/mysys/mysys.dsp:
Use new version of MYSQL_SERVER_SUFFIX
VC++Files/pack_isam/pack_isam.dsp:
Use new version of MYSQL_SERVER_SUFFIX
VC++Files/perror/perror.dsp:
Use new version of MYSQL_SERVER_SUFFIX
VC++Files/replace/replace.dsp:
Use new version of MYSQL_SERVER_SUFFIX
VC++Files/sql/mysqld.dsp:
Use new version of MYSQL_SERVER_SUFFIX
include/my_global.h:
Added QUOTE and STRINGIFY
include/mysql_version.h.in:
New MYSQL_SERVER_SUFFIX handling
innobase/eval/eval0eval.c:
Fixed compiler warning
libmysql/libmysql.c:
Use STRINGIFY()
sql/mysqld.cc:
New MYSQL_SERVER_SUFFIX handling
sql/mysqld_suffix.h:
New MYSQL_SERVER_SUFFIX handling
sql/set_var.cc:
Use STRINGIFY()
zlib/contrib/asm386/zlibvc.dsp:
Updated for 4.0