| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
BitKeeper/etc/logging_ok:
auto-union
BitKeeper/deleted/.del-mytest-old.c~5237697b30cf59e4:
Auto merged
Build-tools/Bootstrap:
Auto merged
Build-tools/mysql-copyright:
Auto merged
configure.in:
Auto merged
BitKeeper/deleted/.del-mysql_fix_privilege_tables.sql:
Auto merged
VC++Files/innobase/innobase.dsp:
Auto merged
client/mysql.cc:
Auto merged
include/my_global.h:
Auto merged
innobase/dict/dict0crea.c:
Auto merged
innobase/dict/dict0dict.c:
Auto merged
innobase/include/mtr0log.h:
Auto merged
innobase/include/mtr0log.ic:
Auto merged
innobase/include/srv0srv.h:
Auto merged
innobase/include/ut0dbg.h:
Auto merged
innobase/lock/lock0lock.c:
Auto merged
innobase/os/os0file.c:
Auto merged
innobase/row/row0mysql.c:
Auto merged
innobase/row/row0sel.c:
Auto merged
innobase/srv/srv0srv.c:
Auto merged
innobase/ut/ut0dbg.c:
Auto merged
innobase/ut/ut0mem.c:
Auto merged
libmysql/Makefile.am:
Auto merged
libmysql/Makefile.shared:
Auto merged
libmysql/conf_to_src.c:
Auto merged
libmysql/dll.c:
Auto merged
libmysql/errmsg.c:
Auto merged
libmysql/manager.c:
Auto merged
libmysql_r/Makefile.am:
Auto merged
myisam/mi_key.c:
Auto merged
mysql-test/Makefile.am:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
mysql-test/r/having.result:
Auto merged
mysql-test/r/heap.result:
Auto merged
mysql-test/r/type_date.result:
Auto merged
mysql-test/r/type_float.result:
Auto merged
mysql-test/t/having.test:
Auto merged
mysql-test/t/heap.test:
Auto merged
mysql-test/t/type_date.test:
Auto merged
mysql-test/t/type_float.test:
Auto merged
mysql-test/t/type_uint.test:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
scripts/make_win_src_distribution.sh:
Auto merged
sql/Makefile.am:
Auto merged
sql/field.h:
Auto merged
sql/ha_heap.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/item_sum.h:
Auto merged
sql/lock.cc:
Auto merged
sql/log.cc:
Auto merged
sql/protocol.cc:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_analyse.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/share/czech/errmsg.txt:
Auto merged
sql/share/danish/errmsg.txt:
Auto merged
sql/share/dutch/errmsg.txt:
Auto merged
sql/share/english/errmsg.txt:
Auto merged
sql/share/estonian/errmsg.txt:
Auto merged
sql/share/french/errmsg.txt:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/share/greek/errmsg.txt:
Auto merged
sql/share/hungarian/errmsg.txt:
Auto merged
sql/share/japanese/errmsg.txt:
Auto merged
sql/share/korean/errmsg.txt:
Auto merged
sql/share/norwegian-ny/errmsg.txt:
Auto merged
sql/share/norwegian/errmsg.txt:
Auto merged
sql/share/polish/errmsg.txt:
Auto merged
sql/share/portuguese/errmsg.txt:
Auto merged
sql/share/romanian/errmsg.txt:
Auto merged
sql/share/russian/errmsg.txt:
Auto merged
sql/share/slovak/errmsg.txt:
Auto merged
sql/share/spanish/errmsg.txt:
Auto merged
sql/share/swedish/errmsg.txt:
Auto merged
sql/share/ukrainian/errmsg.txt:
Auto merged
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| | |
os_file_create_tmpfile(): display errno in case of failure
innobase/os/os0file.c:
os_file_create_tmpfile(): display errno in case of failure
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
dyn_array_open(): mention the size limit
mtr0log.ic, mtr0log.h:
mlog_open(): mention the size limit
innobase/include/mtr0log.h:
mlog_open(): mention the size limit
innobase/include/mtr0log.ic:
mlog_open(): mention the size limit
innobase/include/dyn0dyn.h:
dyn_array_open(): mention the size limit
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
into hundin.mysql.fi:/home/marko/k/mysql-4.0
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| |/
| |
| |
| |
| |
| |
| |
| | |
Restore accidentally deleted comment to dict_create_sys_tables_tuple()
innobase/dict/dict0crea.c:
Restore accidentally deleted comment to dict_create_sys_tables_tuple()
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| | |
innobase/buf/buf0flu.c:
buf_flush_write_block_low(): Warn about UNIV_LOG_DEBUG only once
innobase/log/log0recv.c:
log_block_checksum_is_ok_or_old_format(): Disable the check
if UNIV_LOG_DEBUG is defined
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
row_drop_table_for_mysql(): Removed a ut_ad() assertion that failed
when a DROP TABLE is executed in the background.
innobase/row/row0mysql.c:
row_drop_table_for_mysql(): Removed a ut_ad() assertion that failed
when a DROP TABLE is executed in the background.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Restore accidentally deleted comment of fil_create_directory_for_tablename()
innobase/fil/fil0fil.c:
Restore accidentally deleted comment of fil_create_directory_for_tablename()
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
into hundin.mysql.fi:/home/jan/mysql-4.1
innobase/include/srv0srv.h:
Auto merged
innobase/srv/srv0srv.c:
Auto merged
sql/ha_innodb.cc:
Auto merged
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
next-key locking. Using this option the locks InnoDB sets on index
records do not affect the ``gap'' before that index record. Thus, this option
allows phantom problem.
innobase/include/srv0srv.h:
Added srv_locks_unsafe_for_binlog for innodb_locks_unsafe_for_binlog option.
innobase/row/row0sel.c:
If innodb_locks_unsafe_for_binlog option is used, we lock only the record, i.e.
next-key locking is not used. Therefore, setting lock to the index record
do not affect the ``gap'' before that index record. Thus, this option
allows phantom problem, because concurrent insert operations are allowed inside
the select range.
innobase/srv/srv0srv.c:
Added srv_locks_unsafe_for_binlog for innodb_locks_unsafe_for_binlog option.
sql/ha_innodb.cc:
Added innobase_locks_unsafe_for_binlog and srv_locks_unsafe_for_binlog for
innodb_locks_unsafe_for_binlog option.
sql/ha_innodb.h:
Added innobase_locks_unsafe_for_binlog for innodb_locks_unsafe_for_binlog option.
sql/mysqld.cc:
Added OPT_INNODB_LOCKS_UNSAFE_FOR_BINLOG, innobase_locks_unsafe_for_binlog for
innodb_locks_unsafe_for_binlog option.
sql/set_var.cc:
Added innodb_locks_unsafe_for_binlog and innobase_locks_unsafe_for_binlog for
innodb_locks_unsafe_for_binlog option.
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
|
|\ \ \
| |/ /
|/| /
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Build-tools/Do-compile:
Auto merged
Docs/Makefile.am:
Auto merged
innobase/btr/btr0cur.c:
Auto merged
innobase/include/lock0lock.h:
Auto merged
innobase/include/row0mysql.h:
Auto merged
innobase/include/srv0srv.h:
Auto merged
innobase/include/sync0arr.h:
Auto merged
innobase/include/trx0trx.h:
Auto merged
innobase/lock/lock0lock.c:
Auto merged
innobase/srv/srv0srv.c:
Auto merged
innobase/srv/srv0start.c:
Auto merged
innobase/sync/sync0arr.c:
Auto merged
innobase/trx/trx0trx.c:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
mysql-test/r/innodb.result:
to be fixed after the merge
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
(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/lock/lock0lock.c:
Decrement n_lock_table_exp in lock_table_dequeue(), not elsewhere
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
BitKeeper/etc/ignore:
added sql/mysql_tzinfo_to_sql
BitKeeper/etc/logging_ok:
auto-union
acinclude.m4:
Auto merged
extra/perror.c:
Auto merged
include/mysql.h:
Auto merged
innobase/include/mach0data.ic:
Auto merged
innobase/include/mtr0log.h:
Auto merged
innobase/include/mtr0log.ic:
Auto merged
innobase/mem/mem0dbg.c:
Auto merged
innobase/pars/lexyy.c:
Auto merged
BitKeeper/deleted/.del-4.0.XX-gpl.ipr~f5909a9e9bd8094:
Auto merged
BitKeeper/deleted/.del-Clients and Tools.fgl~bf0f776883577f02:
Auto merged
BitKeeper/deleted/.del-Development.fgl~6392ce285e73f5fc:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
mysql-test/r/innodb_cache.result:
Auto merged
mysql-test/r/lowercase_table2.result:
Auto merged
mysql-test/t/innodb_cache.test:
Auto merged
mysql-test/t/lowercase_table2.test:
Auto merged
sql/ha_berkeley.cc:
Auto merged
sql/handler.cc:
Auto merged
scripts/make_win_src_distribution.sh:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
libmysql/libmysql.c:
Merge with 4.0
mysql-test/r/bdb.result:
Merge with 4.0
mysql-test/r/range.result:
Merge with 4.0
mysql-test/t/bdb.test:
Merge with 4.0
mysys/hash.c:
Merge with 4.0
scripts/mysql_install_db.sh:
Merge with 4.0
sql/field.cc:
Merge with 4.0
sql/field.h:
Merge with 4.0
sql/mysql_priv.h:
Merge with 4.0
sql/sql_handler.cc:
Merge with 4.0
sql/sql_select.cc:
Merge with 4.0
sql/sql_table.cc:
Merge with 4.0
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
into hundin.mysql.fi:/home/marko/k/mysql-4.0
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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()
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
into mysql.com:/home/mysql_src/mysql-4.1-1717
client/mysqltest.c:
Auto merged
innobase/trx/trx0sys.c:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_innodb.h:
Auto merged
sql/log.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_class.h:
Auto merged
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Won't be pushed as is - separate email sent for internal review.
WL#1717 "binlog-innodb consistency".
Now when mysqld starts, if InnoDB does a crash recovery, we use the binlog name
and position retrieved from InnoDB (corresponding to the last transaction
successfully committed by InnoDB) to cut any rolled back transaction from
the binary log. This is triggered by the --innodb-safe-binlog option.
Provided you configure mysqld to fsync() InnoDB at every commit (using
flush_log_at_trx_commit) and to fsync() the binlog at every write
(using --sync-binlog=1), this behaviour guarantees that a master always has
consistency between binlog and InnoDB, whenever the crash happens.
6 tests to verify that it works.
client/mysqltest.c:
New command require_os (only "unix" accepted for now).
innobase/include/trx0sys.h:
when InnoDB does crash recovery, we now save the binlog coords it prints, into variables for later use.
innobase/trx/trx0sys.c:
when InnoDB does crash recovery, we now save the binlog coords it prints, into variables for later use.
mysql-test/mysql-test-run.sh:
The tests which check that the binlog is cut at restart, need to not delete those binlogs, of course.
And not delete replication info, so that we can test that the slave does not receive anything
wrong from the cut binlog.
sql/ha_innodb.cc:
methods to read from InnoDB the binlog coords stored into it
sql/ha_innodb.h:
ethods to read from InnoDB the binlog coords stored into it
sql/log.cc:
Added my_sync() when we create a binlog (my_sync of the binlog and of the index file);
this is always done, whether --sync-binlog or not (binlog creation is rare, so no speed
problem, and I like to have the existence of the binlog always reliably recorded, even if
later content is not).
If --crash-binlog-innodb, crash between the binlog write and the InnoDB commit.
New methods:
- report_pos_in_innodb() to store the binlog name and position into InnoDB (used only when
we create a new binlog: at startup and at FLUSH LOGS)
- cut_spurious_tail() to possibly cut the tail of a binlog based on the info we read
from InnoDB (does something only if InnoDB has just done a crash recovery).
sql/mysql_priv.h:
new option, to crash (use for testing only)
sql/mysqld.cc:
New option --innodb-safe-binlog and --crash-binlog-innodb (the latter is for testing, it makes mysqld crash).
Just after opening the logs and opening the storage engines, cut any wrong statement from the binlog, based
on info read from InnoDB.
sql/sql_class.h:
new methods for MYSQL_LOG.
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
Build-tools/Do-compile:
Auto merged
include/my_global.h:
Auto merged
innobase/row/row0ins.c:
Auto merged
libmysql/libmysql.c:
Auto merged
libmysqld/Makefile.am:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
mysql-test/r/func_time.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
scripts/mysql_install_db.sh:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
innobase/fil/fil0fil.c:
merge (Use heikki's code)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Return NULL if a time argument is given to date_add(). (Warning will be shown after Dimitri's timezone patch is pushed)
client/mysqltest.c:
Added MAX_VAR_NAME which was lost in merge
Added more debugging
Fixed bug in 'eval'
innobase/data/data0type.c:
After merge fix
innobase/fil/fil0fil.c:
After merge fix
innobase/log/log0recv.c:
After merge fix
myisam/mi_unique.c:
Better checksum handling
mysql-test/r/func_time.result:
Return NULL if a time argument is given to date_add()
mysql-test/r/rpl_free_items.result:
After merge fix
mysql-test/r/rpl_get_lock.result:
Test was depending on when server was restarted.
mysql-test/r/type_date.result:
After merge fix
mysql-test/r/type_decimal.result:
After merge fix
mysql-test/t/func_time.test:
Removed comment that is not needed anymore
(After Dimitri's timezone patch is pushed, we should get a warning for the date_add(time...) entry)
mysql-test/t/rpl_get_lock.test:
Test was depending on when server was restarted.
mysql-test/t/type_date.test:
Addded missing explanation for bug
netware/mysqld_safe.c:
Removed end \r
Run program through indent-ex to get MySQL indentation
sql-common/client.c:
After merge fix
sql/field.cc:
Fixed that get_date(time) gives a warning
sql/field.h:
After merge fix
sql/net_serv.cc:
More debugging (if DEBUG_DATA_PACKETS is set)
sql/sql_class.cc:
Removed compiler warning
sql/table.cc:
Better comment
|
| |\ \
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
BitKeeper/etc/logging_ok:
auto-union
Build-tools/mysql-copyright-2:
Auto merged
include/violite.h:
Auto merged
innobase/btr/btr0btr.c:
Auto merged
innobase/buf/buf0buf.c:
Auto merged
innobase/buf/buf0flu.c:
Auto merged
innobase/buf/buf0lru.c:
Auto merged
innobase/dict/dict0dict.c:
Auto merged
innobase/dict/dict0mem.c:
Auto merged
innobase/fsp/fsp0fsp.c:
Auto merged
innobase/fut/fut0lst.c:
Auto merged
innobase/ha/hash0hash.c:
Auto merged
innobase/include/buf0buf.ic:
Auto merged
innobase/include/buf0lru.h:
Auto merged
innobase/include/data0data.h:
Auto merged
innobase/include/dict0dict.h:
Auto merged
innobase/include/dict0mem.h:
Auto merged
innobase/include/fsp0fsp.h:
Auto merged
innobase/include/hash0hash.h:
Auto merged
innobase/include/lock0lock.h:
Auto merged
innobase/include/log0log.h:
Auto merged
innobase/include/log0log.ic:
Auto merged
innobase/include/mem0dbg.ic:
Auto merged
innobase/include/mem0pool.h:
Auto merged
innobase/include/mtr0mtr.h:
Auto merged
innobase/include/sync0rw.h:
Auto merged
innobase/include/sync0sync.h:
Auto merged
innobase/include/trx0roll.h:
Auto merged
innobase/include/trx0trx.h:
Auto merged
innobase/include/ut0mem.h:
Auto merged
innobase/lock/lock0lock.c:
Auto merged
innobase/log/log0log.c:
Auto merged
innobase/mem/mem0dbg.c:
Auto merged
innobase/mem/mem0pool.c:
Auto merged
innobase/mtr/mtr0mtr.c:
Auto merged
innobase/pars/lexyy.c:
Auto merged
innobase/pars/pars0opt.c:
Auto merged
innobase/que/que0que.c:
Auto merged
innobase/rem/rem0cmp.c:
Auto merged
innobase/row/row0ins.c:
Auto merged
innobase/row/row0mysql.c:
Auto merged
innobase/row/row0upd.c:
Auto merged
innobase/srv/srv0srv.c:
Auto merged
innobase/srv/srv0start.c:
Auto merged
innobase/sync/sync0rw.c:
Auto merged
innobase/sync/sync0sync.c:
Auto merged
innobase/thr/thr0loc.c:
Auto merged
innobase/trx/trx0purge.c:
Auto merged
innobase/trx/trx0roll.c:
Auto merged
innobase/trx/trx0sys.c:
Auto merged
innobase/trx/trx0trx.c:
Auto merged
innobase/usr/usr0sess.c:
Auto merged
innobase/ut/ut0mem.c:
Auto merged
mysql-test/r/func_if.result:
Auto merged
mysql-test/r/type_date.result:
Auto merged
mysql-test/t/type_date.test:
Auto merged
mysql-test/t/type_decimal.test:
Auto merged
mysys/mf_tempfile.c:
Auto merged
netware/BUILD/nwbootstrap:
Auto merged
netware/Makefile.am:
Auto merged
scripts/mysqld_safe.sh:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
mysql-test/t/func_if.test:
Auto merged
sql/mysqld.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
support-files/my-innodb-heavy-4G.cnf.sh:
Auto merged
Build-tools/Do-compile:
Merge with 4.0
Build-tools/mysql-copyright:
Merge with 4.0
client/mysqltest.c:
Merge with 4.0
include/my_global.h:
Merge with 4.0
innobase/buf/buf0rea.c:
Merge with 4.0
innobase/data/data0type.c:
Merge with 4.0
innobase/ibuf/ibuf0ibuf.c:
Merge with 4.0
innobase/include/buf0buf.h:
Merge with 4.0
innobase/include/data0type.h:
Merge with 4.0
innobase/include/mem0mem.h:
Merge with 4.0
innobase/include/mem0mem.ic:
Merge with 4.0
innobase/log/log0recv.c:
Merge with 4.0
libmysql/libmysql.c:
Merge with 4.0
libmysqld/Makefile.am:
Merge with 4.0
mysql-test/r/range.result:
Merge with 4.0
mysql-test/r/type_decimal.result:
Merge with 4.0
mysql-test/t/range.test:
Merge with 4.0
netware/BUILD/mwenv:
Merge with 4.0
netware/mysql_test_run.c:
Merge with 4.0
scripts/mysql_install_db.sh:
Merge with 4.0
sql/field.cc:
Merge with 4.0
sql/field.h:
Merge with 4.0
sql/item_cmpfunc.h:
Merge with 4.0
support-files/my-huge.cnf.sh:
Merge with 4.0
support-files/my-large.cnf.sh:
Merge with 4.0
support-files/my-medium.cnf.sh:
Merge with 4.0
support-files/my-small.cnf.sh:
Merge with 4.0
support-files/mysql.spec.sh:
Merge with 4.0
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
innobase/log/log0recv.c:
Revert the patch that put log debug code behind UNIV_LOG_DEBUG
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
innobase/include/que0que.h:
Exclude
innobase/include/que0que.ic:
Exclude
innobase/que/que0que.c:
Exclude
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
innobase/trx/trx0sys.c:
Remove #ifdef UNIV_HOT_BACKUP: best to keep the codebase as uniform as possible
innobase/dict/dict0dict.c:
Exclude
innobase/dict/dict0mem.c:
Exclude
innobase/ha/hash0hash.c:
Exclude
innobase/include/data0data.h:
Exclude
innobase/include/dict0mem.h:
Exclude
innobase/include/hash0hash.h:
Exclude
innobase/include/hash0hash.ic:
Exclude
innobase/include/mtr0mtr.h:
Exclude
innobase/include/row0ins.h:
Exclude
innobase/include/row0upd.h:
Exclude
innobase/row/row0ins.c:
Exclude
innobase/row/row0upd.c:
Exclude
innobase/thr/thr0loc.c:
Exclude
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
BitKeeper/deleted/.del-srv0que.c~d1feebb77b5a9b96:
Exclude
BitKeeper/deleted/.del-srv0que.h~f12ecb4b5afe203e:
Exclude
innobase/include/que0que.h:
Exclude
innobase/include/trx0roll.h:
Exclude
innobase/include/trx0trx.h:
Exclude
innobase/include/usr0sess.h:
Exclude
innobase/que/que0que.c:
Exclude
innobase/srv/Makefile.am:
Exclude
innobase/include/Makefile.am:
Exclude
innobase/srv/srv0srv.c:
Exclude
innobase/trx/trx0purge.c:
Exclude
innobase/trx/trx0roll.c:
Exclude
innobase/trx/trx0trx.c:
Exclude
innobase/usr/usr0sess.c:
Exclude
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Remove printf's that were accidentally pushed in the last push
innobase/ut/ut0mem.c:
Remove printf's that were accidentally pushed in the last push
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | | |
innobase/include/mem0mem.ic:
mem_realloc(): preserve the old buffer contents
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
be needed when testing production releases
innobase/btr/btr0btr.c:
Remove #ifdef UNIV_DEBUG around debug code
innobase/buf/buf0buf.c:
Remove #ifdef UNIV_DEBUG around debug code
innobase/buf/buf0flu.c:
Remove #ifdef UNIV_DEBUG around debug code
innobase/buf/buf0lru.c:
Remove #ifdef UNIV_DEBUG around debug code
innobase/buf/buf0rea.c:
Remove #ifdef UNIV_DEBUG around debug code
innobase/data/data0type.c:
Remove #ifdef UNIV_DEBUG around debug code
innobase/dict/dict0dict.c:
Remove #ifdef UNIV_DEBUG around debug code
innobase/fsp/fsp0fsp.c:
Remove #ifdef UNIV_DEBUG around debug code
innobase/fut/fut0lst.c:
Remove #ifdef UNIV_DEBUG around debug code
innobase/ibuf/ibuf0ibuf.c:
Remove #ifdef UNIV_DEBUG around debug code
innobase/include/btr0btr.h:
Remove #ifdef UNIV_DEBUG around debug code
innobase/include/buf0buf.h:
Remove #ifdef UNIV_DEBUG around debug code
innobase/include/buf0buf.ic:
Remove #ifdef UNIV_DEBUG around debug code
innobase/include/buf0flu.h:
Remove #ifdef UNIV_DEBUG around debug code
innobase/include/buf0lru.h:
Remove #ifdef UNIV_DEBUG around debug code
innobase/include/data0type.h:
Remove #ifdef UNIV_DEBUG around debug code
innobase/include/dict0dict.h:
Remove #ifdef UNIV_DEBUG around debug code
innobase/include/fsp0fsp.h:
Remove #ifdef UNIV_DEBUG around debug code
innobase/include/fut0lst.h:
Remove #ifdef UNIV_DEBUG around debug code
innobase/include/lock0lock.h:
Remove #ifdef UNIV_DEBUG around debug code
innobase/include/mem0dbg.h:
Remove #ifdef UNIV_DEBUG around debug code
innobase/include/mem0dbg.ic:
Remove #ifdef UNIV_DEBUG around debug code
innobase/include/mem0pool.h:
Remove #ifdef UNIV_DEBUG around debug code
innobase/include/mtr0mtr.h:
Remove #ifdef UNIV_DEBUG around debug code
innobase/include/pars0opt.h:
Remove #ifdef UNIV_DEBUG around debug code
innobase/include/sync0rw.h:
Remove #ifdef UNIV_DEBUG around debug code
innobase/include/sync0sync.h:
Remove #ifdef UNIV_DEBUG around debug code
innobase/lock/lock0lock.c:
Remove #ifdef UNIV_DEBUG around debug code
innobase/mem/mem0dbg.c:
Remove #ifdef UNIV_DEBUG around debug code
innobase/mem/mem0pool.c:
Remove #ifdef UNIV_DEBUG around debug code
innobase/mtr/mtr0mtr.c:
Remove #ifdef UNIV_DEBUG around debug code
innobase/pars/pars0opt.c:
Remove #ifdef UNIV_DEBUG around debug code
innobase/srv/srv0start.c:
Remove #ifdef UNIV_DEBUG around debug code
innobase/sync/sync0rw.c:
Remove #ifdef UNIV_DEBUG around debug code
innobase/sync/sync0sync.c:
Remove #ifdef UNIV_DEBUG around debug code
innobase/trx/trx0roll.c:
Remove #ifdef UNIV_DEBUG around debug code
|
| | |
| | |
| | |
| | |
| | |
| | | |
innobase/row/row0mysql.c:
row_create_table_for_mysql(), row_drop_table_for_mysql():
Make InnoDB recognize the special table names innodb_* again.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
cmp_debug_dtuple_rec_with_match()
unless #ifdef UNIV_DEBUG
innobase/rem/rem0cmp.c:
Remove cmp_debug_dtuple_rec_with_match() unless #ifdef UNIV_DEBUG
|