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
sql/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
sql/ha_innodb.h:
Push the patch of Jan Lindstrom: better comments
innobase/trx/trx0trx.c:
Push the patch of Jan Lindstrom: better comments
innobase/srv/srv0srv.c:
Push the patch of Jan Lindstrom: better comments
innobase/srv/srv0start.c:
Push the patch of Jan Lindstrom: better comments
innobase/row/row0sel.c:
Push the patch of Jan Lindstrom: better comments
innobase/read/read0read.c:
Push the patch of Jan Lindstrom: better comments
innobase/include/read0read.h:
Push the patch of Jan Lindstrom: better comments
innobase/include/trx0trx.h:
Push the patch of Jan Lindstrom: better comments
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)
innobase/include/os0file.h:
Disable os_do_not_call_flush_at_each_write unless #ifdef UNIV_DO_FLUSH
innobase/os/os0file.c:
Disable os_do_not_call_flush_at_each_write unless #ifdef UNIV_DO_FLUSH
innobase/trx/trx0sys.c:
Disable os_do_not_call_flush_at_each_write unless #ifdef UNIV_DO_FLUSH
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.
Declare 'mutex_list' and 'mutex_list_mutex' extern,
to avoid link error on OS X and gcc flag "-fno-common"
innobase/include/sync0sync.h:
Use 'extern' variable declarations, to avoid
"ld: multiple definitions of symbol" for 'mutex_list'
and 'mutex_list_mutex' on OS X and gcc flag "-fno-common"
innobase/sync/sync0sync.c:
Use 'extern' variable declarations, to avoid
"ld: multiple definitions of symbol" for 'mutex_list'
and 'mutex_list_mutex' on OS X and gcc flag "-fno-common"
innobase/include/srv0srv.h:
Define SRV_CONCURRENCY_THRESHOLD
innobase/srv/srv0srv.c:
Remove srv_thread_concurrency check from srv_conc_enter_innodb()
and srv_conc_exit_innodb(), as the check is in the (only) caller
of these functions, in ha_innodb.cc.
srv_conc_force_enter_innodb(), srv_conc_force_exit_innodb():
Check for srv_thread_concurrency >= SRV_CONCURRENCY_THRESHOLD
sql/ha_innodb.cc:
Make use of SRV_CONCURRENCY_THRESHOLD
Fix another bug in the fix of Bug #3300
innobase/row/row0mysql.c:
Fix another bug in the fix of Bug #3300
innobase/include/trx0trx.ic:
Fix another bug in the fix of Bug #3300
innobase/include/trx0trx.h:
Fix another bug in the fix of Bug #3300
Fix bug in the Bug #3300 bug fix
innobase/include/trx0trx.h:
Fix bug in the Bug #3300 bug fix
innobase/include/trx0trx.ic:
Fix bug in the Bug #3300 bug fix
Fix Bug #3300 : if innodb_locks_unsafe_for_binlog is set, release locks on rows that we do not UPDATE or DELETE
sql/ha_innodb.cc:
Fix Bug #3300 : if innodb_locks_unsafe_for_binlog is set, release locks on rows that we do not UPDATE or DELETE
innobase/row/row0mysql.c:
Fix Bug #3300 : if innodb_locks_unsafe_for_binlog is set, release locks on rows that we do not UPDATE or DELETE
innobase/row/row0sel.c:
Fix Bug #3300 : if innodb_locks_unsafe_for_binlog is set, release locks on rows that we do not UPDATE or DELETE
innobase/include/trx0trx.ic:
Fix Bug #3300 : if innodb_locks_unsafe_for_binlog is set, release locks on rows that we do not UPDATE or DELETE
innobase/include/row0mysql.h:
Fix Bug #3300 : if innodb_locks_unsafe_for_binlog is set, release locks on rows that we do not UPDATE or DELETE
innobase/include/trx0trx.h:
Fix Bug #3300 : if innodb_locks_unsafe_for_binlog is set, release locks on rows that we do not UPDATE or DELETE
innobase/lock/lock0lock.c:
Fix Bug #3300 : if innodb_locks_unsafe_for_binlog is set, release locks on rows that we do not UPDATE or DELETE
innobase/trx/trx0trx.c:
Fix Bug #3300 : if innodb_locks_unsafe_for_binlog is set, release locks on rows that we do not UPDATE or DELETE
innobase/btr/btr0cur.c:
Disable the mode PAGE_CUR_LE_OR_EXTENDS at compile-time
innobase/include/page0cur.h:
Disable the mode PAGE_CUR_LE_OR_EXTENDS at compile-time
Do not define PAGE_CUR_DBG unless #ifdef UNIV_SEARCH_DEBUG
innobase/page/page0cur.c:
Disable the mode PAGE_CUR_LE_OR_EXTENDS at compile-time
Disable PAGE_CUR_DBG unless #ifdef UNIV_SEARCH_DEBUG
page_cur_try_search_shortcut(): Optimize the predicates
(compare the result of page_cmp_dtuple_rec_with_match() against 0,
use page_rec_is_supremum()).
page_cur_search_with_match(): Compare the result of
cmp_dtuple_rec_with_match() against zero, add UNIV_LIKELY hints,
replace duplicated code with gotos.
up CREATE TABLE in innodb_file_per_table=1 mode.
innobase/fil/fil0fil.c:
fil_extend_space_to_desired_size(): Do not allocate or initialize
more memory than is necessary. Write at most one megabyte at a time.
innobase/include/os0file.h:
os_file_set_size(): Corrected the synopsis
innobase/os/os0file.c:
os_file_set_size(): Corrected the synopsis and some comments.
s/offset/current_size; s/low/desired_size/;
Do not allocate or initialize more memory than is necessary.
Write at most one megabyte at a time.
into hundin.mysql.fi:/home/marko/mysql-5.0-current
innobase/dict/dict0dict.c:
Auto merged
innobase/fil/fil0fil.c:
Auto merged
innobase/include/lock0lock.h:
Auto merged
innobase/lock/lock0lock.c:
Auto merged
innobase/os/os0file.c:
Auto merged
innobase/row/row0ins.c:
Auto merged
innobase/row/row0mysql.c:
Auto merged
innobase/srv/srv0start.c:
Auto merged
innobase/trx/trx0trx.c:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_innodb.h:
Auto merged
sql/mysqld.cc:
Auto merged
innobase/fsp/fsp0fsp.c:
Declare "first" in the scope where it is used, and add dummy return
statement after ut_error to silence compiler warning.
innobase/include/dyn0dyn.h:
Add const qualifier to dyn_push_string().
innobase/include/dyn0dyn.ic:
dyn_push_string(): Add const qualifier to str;
remove intermediate assignment.
innobase/include/mtr0log.h:
mlog_write_string(), mlog_catenate_string(): Add const to str
innobase/log/log0log.c:
Eliminate variables new_oldest and do_preflush in order to avoid
warnings about possibly uninitialized variables.
(new_oldest will now be declared in the scope of usage,
and do_preflush == (advance != 0).)
innobase/log/log0recv.c:
Remove warnings about uninitialized variables.
Add UNIV_UNLIKELY() hints.
innobase/mtr/mtr0log.c:
mlog_write_string(), mlog_catenate_string(): Add const to str
mlog_write_string(): Add UNIV_UNLIKELY hints to assertion-like tests
innobase/row/row0sel.c:
Remove warning about possibly uninitialized variable.
(Always initialize *out_rec.)
innobase/include/lock0lock.h:
Remove flag lock_print_waits from non-debug builds.
innobase/lock/lock0lock.c:
Remove flag lock_print_waits from non-debug builds.
Add InnoDB lock compatibility matrix for easy reference.
innobase/trx/trx0roll.c:
Remove flag lock_print_waits from non-debug builds.
innobase/include/page0page.ic:
page_rec_set_next(): s/ut_a()/ut_ad()/
page_rec_get_prev(): Eliminate a buf_frame_align() call
innobase/lock/lock0lock.c:
lock_rec_get_first(): Determine heap_no before the loop
innobase/dict/dict0boot.c:
Remove dummy code to work around bug in the pgcc compiler.
innobase/include/ut0dbg.h:
UT_DBG_PANIC: Avoid exit(), as lexyy.c re-#defines exit().
Move the code to the function ut_dbg_panic() instead.
innobase/ut/ut0dbg.c:
[__NETWARE__] Add function ut_dbg_panic()
innobase/fil/fil0fil.c:
Move the declaration of fil_node_t to os0file.h.
Remove type casting from address-of operation
(which would break strict aliasing rules)
innobase/include/os0file.h:
Declare fil_node_t as an opaque structure.
Replace void* message1 with fil_node_t* message1.
innobase/os/os0file.c:
Replace void* message1 with fil_node_t* message1.
innobase/include/os0file.h:
Remove unused function os_aio_all_slots_free() from non-debug builds.
innobase/os/os0file.c:
Remove unused function os_aio_all_slots_free() from non-debug builds.
Add static qualifiers to module-global variables.
innobase/include/ut0dbg.h:
Write help macros to use in ut_a() and ut_error.
Moved some ut_a() and ut_error code to non-inlined functions.
Fixed ut_error on NetWare.
Reintroduced ut_dbg_zero on non-GCC platforms.
innobase/ut/ut0dbg.c:
Reintroduced ut_dbg_zero on non-GCC platforms.
Removed ut_dbg_null_ptr on NetWare.
Add helpers ut_dbg_assertion_failed() and ut_dbg_stop_thread().
Since UNLOCK TABLES will commit the transaction (and thus release
all InnoDB locks held by it), it is unnecessary to release the
user-requested table locks separately.
innobase/include/lock0lock.h:
Remove references to LOCK_TABLE_EXP and LOCK_TABLE_TRANSACTIONAL.
Remove lock_release_tables_off_kernel().
innobase/include/row0mysql.h:
Remove row_unlock_tables_for_mysql().
innobase/include/trx0trx.h:
Remove n_lock_table_exp and n_lock_table_transactional.
innobase/lock/lock0lock.c:
Remove references to LOCK_TABLE_EXP and LOCK_TABLE_TRANSACTIONAL.
Remove lock_release_tables_off_kernel().
Remove references to trx->n_lock_table_exp
and trx->n_lock_table_transactional.
innobase/row/row0mysql.c:
Remove row_unlock_tables_for_mysql().
Remove references to LOCK_TABLE_TRANSACTIONAL and LOCK_TABLE_EXP.
innobase/trx/trx0trx.c:
Remove n_lock_table_exp and n_lock_table_transactional.
sql/ha_innodb.cc:
Remove references to LOCK_TABLE_EXP and LOCK_TABLE_TRANSACTIONAL
and row_unlock_tables_for_mysql().
rec_offs_nth_extern(): Return zero/nonzero instead of FALSE/TRUE.
innobase/row/row0upd.c:
Normalize the return value of rec_offs_nth_extern() to FALSE/TRUE.
Avoid a repeated call to upd_ext_vec_contains().
Make rec_get_deleted_flag() return zero/nonzero instead of FALSE/TRUE.
innobase/btr/btr0btr.c:
btr_page_get_sure_split_rec(): Fix bug caused by optimization
(dereferencing null pointer in page_rec_is_supremum())
btr_page_insert_fits(): Correct a debug assertion.
innobase/btr/btr0cur.c:
Add debug assertions about page_rec_is_comp().
Add UNIV_LIKELY and UNIV_UNLIKELY hints.
Note that rec_get_deleted_flag() returns zero/nonzero ulint
instead of FALSE/TRUE ibool.
innobase/include/page0page.ic:
Move debug assertion to proper place.
innobase/include/rem0rec.h:
rec_get_deleted_flag(), rec_set_deleted_flag(): Make the flag
zero/nonzero in order to avoid FALSE/TRUE normalization in
every rec_get_deleted_flag() call.
innobase/include/rem0rec.ic:
rec_get_deleted_flag(), rec_set_deleted_flag(): Make the flag
zero/nonzero in order to avoid FALSE/TRUE normalization in
every rec_get_deleted_flag() call.
innobase/rem/rem0rec.c:
rec_init_offsets(): Fix bugs introduced in optimization.
innobase/row/row0sel.c:
Make debug assertion stricter.
innobase/row/row0vers.c:
Note that rec_get_deleted_flag() returns zero/nonzero ulint
instead of FALSE/TRUE ibool.
into hundin.mysql.fi:/home/heikki/mysql-5.0
innobase/dict/dict0dict.c:
Auto merged
innobase/fil/fil0fil.c:
Auto merged
innobase/include/dict0dict.h:
Auto merged
Fix a problem in crash recovery of .ibd files on Windows if the user used lower_case_table_names=0 or 2; the directory scan in crash recovery forgot to put all paths to lower case, so that the tablespace name would be consistent with the internal data dictionary of InnoDB; remember that InnoDB puts internally all database names and table names to lower case on Windows, regardless of the value of lower_case_table_names
innobase/fil/fil0fil.c:
Fix a problem in crash recovery of .ibd files on Windows if the user used lower_case_table_names=0 or 2; the directory scan in crash recovery forgot to put all paths to lower case, so that the tablespace name would be consistent with the internal data dictionary of InnoDB; remember that InnoDB puts internally all database names and table names to lower case on Windows, regardless of the value of lower_case_table_names
innobase/include/dict0dict.h:
Fix a problem in crash recovery of .ibd files on Windows if the user used lower_case_table_names=0 or 2; the directory scan in crash recovery forgot to put all paths to lower case, so that the tablespace name would be consistent with the internal data dictionary of InnoDB; remember that InnoDB puts internally all database names and table names to lower case on Windows, regardless of the value of lower_case_table_names
innobase/dict/dict0dict.c:
Fix a problem in crash recovery of .ibd files on Windows if the user used lower_case_table_names=0 or 2; the directory scan in crash recovery forgot to put all paths to lower case, so that the tablespace name would be consistent with the internal data dictionary of InnoDB; remember that InnoDB puts internally all database names and table names to lower case on Windows, regardless of the value of lower_case_table_names
innobase/btr/btr0btr.c:
Eliminate some buf_frame_align() calls.
Make use of the page_rec_is_infimum(), page_rec_is_supremum()
and page_rec_is_user_rec() functions.
Replace some index->table->comp with page_is_comp().
Eliminate some variables to reduce register spilling on x86.
Note that page_is_comp() may return nonzero instead of TRUE.
Note that rec_offs_comp() may return nonzero instead of TRUE.
innobase/btr/btr0cur.c:
Eliminate some buf_frame_align() calls.
Replace some index->table->comp with
page_is_comp() or rec_offs_comp().
Eliminate some variables to reduce register spilling on x86.
Note that page_is_comp() may return nonzero instead of TRUE.
Note that rec_offs_comp() may return nonzero instead of TRUE.
Remove an extra mem_heap_create() call from btr_cur_update_in_place().
Add "page" parameter to lock_rec_store_on_page_infimum().
Add some UNIV_LIKELY() and UNIV_UNLIKELY() hints.
btr_estimate_number_of_different_key_vals(): Rename the
offsets_* variables to be more descriptive and eliminate one
rec_get_offsets() and one page_rec_get_next() call in the loop.
innobase/btr/btr0pcur.c:
Eliminate some buf_frame_align() calls.
Make use of the page_rec_is_infimum(), page_rec_is_supremum()
and page_rec_is_user_rec() functions.
Replace some index->table->comp with page_is_comp().
Eliminate some variables to reduce register spilling on x86.
Note that page_is_comp() may return nonzero instead of TRUE.
Make some ut_a() assertions ut_ad() ones to improve performance.
Add some UNIV_LIKELY() and UNIV_UNLIKELY() hints.
innobase/btr/btr0sea.c:
Make use of page_rec_is_infimum() and page_rec_is_supremum().
Eliminate some buf_frame_align() calls.
Add some UNIV_UNLIKELY and UNIV_LIKELY hints.
Turn some assertions into debug assertions.
innobase/dict/dict0crea.c:
Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp
innobase/ibuf/ibuf0ibuf.c:
Make use of page_rec_is_infimum() and page_rec_is_supremum().
Add some UNIV_UNLIKELY and UNIV_LIKELY hints.
ibuf_get_merge_page_nos(): Rename parameter "first_rec" to "rec"
and eliminate local variable "rec".
innobase/include/btr0btr.h:
Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp
innobase/include/buf0buf.h:
Rename buf_frame_get_modify_clock()
to buf_block_get_modify_clock().
innobase/include/buf0buf.ic:
Rename buf_frame_get_modify_clock()
to buf_block_get_modify_clock() and
remove the buf_block_align() call.
innobase/include/lock0lock.h:
lock_rec_store_on_page_infimum(): Add parameter "page"
innobase/include/mach0data.h:
Add mach_encode_2() and mach_decode_2().
innobase/include/mach0data.ic:
Add mach_encode_2() and mach_decode_2().
innobase/include/page0cur.h:
Add const qualifier to page_cur_is_before_first()
and page_cur_is_after_last().
innobase/include/page0cur.ic:
Make use of page_rec_is_infimum() and page_rec_is_supremum().
innobase/include/page0page.h:
Remove page_rec_is_first_user_rec() and page_rec_is_last_user_rec().
Add page_rec_is_infimum() and page_rec_is_supremum().
Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp.
innobase/include/page0page.ic:
Remove page_rec_is_first_user_rec() and page_rec_is_last_user_rec().
Add page_rec_is_infimum() and page_rec_is_supremum().
Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp.
Add UNIV_UNLIKELY, UNIV_LIKELY and UNIV_EXPECT hints.
Reduce the number of buf_frame_align() calls.
innobase/include/rem0rec.ic:
rec_offs_comp(): Return zero or nonzero instead of FALSE or TRUE.
innobase/include/row0mysql.h:
Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp.
innobase/lock/lock0lock.c:
Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp.
Remove parameter "comp" from lock_rec_get_next(),
lock_rec_has_expl() and lock_rec_other_has_expl_req().
Add parameter "page" to lock_rec_store_on_page_infimum().
Add UNIV_UNLIKELY hints.
Reduce the number of buf_frame_align() calls.
Make use of page_rec_is_infimum(), page_rec_is_supremum() and
page_rec_is_user_rec().
Move the "comp" flag outside some loops.
innobase/mtr/mtr0log.c:
Replace index->table->comp with page_rec_is_comp().
innobase/page/page0cur.c:
Replace index->table->comp with page_is_comp() or page_rec_is_comp().
Eliminate some buf_frame_align() calls.
Add some debug assertions.
innobase/page/page0page.c:
Optimize page_dir_find_owner_slot(). Compare the record offset
16 bits at a time, because that seems to be the only way to avoid
register spilling on x86.
Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp.
Remove parameter "page" of page_delete_rec_list_write_log().
Make use of page_rec_is_infimum().
innobase/rem/rem0cmp.c:
Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp.
innobase/row/row0ins.c:
Make use of page_rec_is_infimum() and page_rec_is_supremum().
Reduce the amount of buf_frame_align() calls.
row_ins_index_entry_low(): Disable assertion about column count
unless #ifdef UNIV_DEBUG.
innobase/row/row0mysql.c:
Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp.
innobase/row/row0row.c:
Eliminate some buf_frame_align() calls.
Make use of page_rec_is_infimum().
innobase/row/row0sel.c:
Make use of page_rec_is_supremum() and page_rec_is_infimum().
Turn some assertions into debug assertions.
Add UNIV_LIKELY and UNIV_UNLIKELY hints.
row_search_for_mysql(): Eliminate local variables "moved",
"cons_read_requires_clust_rec", "was_lock_wait", "shortcut",
"success" and "comp". Replace some of them with goto's.
Disable variable "cnt" unless #ifdef UNIV_SEARCH_DEBUG.
innobase/row/row0vers.c:
Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp.
Replace index->table->comp with page_rec_is_comp().
Eliminate some buf_frame_align() calls.
innobase/include/ut0dbg.h:
Remove ut_dbg_zero.
Use the UNIV_UNLIKELY() macro in assertions in order to assist branch
prediction.
innobase/ut/ut0dbg.c:
Remove ut_dbg_zero.
by copying only a prefix of the row that covers the requested
columns.
innobase/include/row0mysql.h:
row_prebuilt_struct: Add field mysql_prefix_len
in order to reduce memcpy() time in
row_sel_pop_cached_row_for_mysql().
innobase/row/row0sel.c:
row_sel_pop_cached_row_for_mysql(): memcpy() only
mysql_prefix_len bytes instead of mysql_row_len.
sql/ha_innodb.cc:
build_template(): Initialize prebuilt->mysql_prefix_len.
and __builtin_prefetch().
Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/btr/btr0btr.c:
Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/btr/btr0cur.c:
Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/btr/btr0sea.c:
Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/include/univ.i:
Define UNIV_EXPECT(), UNIV_LIKELY(), UNIV_UNLIKELY(),
UNIV_LIKELY_NULL(), UNIV_PREFETCH_R() and UNIV_PREFETCH_RW().
innobase/lock/lock0lock.c:
Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/page/page0cur.c:
Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/page/page0page.c:
Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/rem/rem0rec.c:
Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/row/row0ins.c:
Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/row/row0mysql.c:
Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/row/row0purge.c:
Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/row/row0row.c:
Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/row/row0sel.c:
Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/row/row0undo.c:
Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/row/row0upd.c:
Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/trx/trx0rec.c:
Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/btr/btr0btr.c:
Enclose btr_print_size() and btr_print_tree() in #ifdef UNIV_BTR_PRINT
Add trx_t* parameter to btr_validate_tree() and btr_validate_level().
btr_validate_level(): Call trx_is_interrupted() on each page.
innobase/ibuf/ibuf0ibuf.c:
Add trx_t* parameter to btr_validate_tree().
innobase/include/btr0btr.h:
Enclose btr_print_size() and btr_print_tree() in #ifdef UNIV_BTR_PRINT
Add trx_t* parameter to btr_validate_tree().
innobase/include/trx0trx.h:
Declare trx_is_interrupted().
innobase/row/row0mysql.c:
row_scan_and_check_index(): Check trx_is_interrupted() every 1,000
scanned rows.
row_check_table_for_mysql(): Check trx_is_interrupted()
for each index after btr_validate_tree().
sql/ha_innodb.cc:
Define trx_is_interrupted().
of active transactions, if necessary and possible. (Bug #5436)
innobase/include/lock0lock.h:
Split lock_print_info() into lock_print_info_summary()
and lock_print_info_all_transactions().
innobase/lock/lock0lock.c:
Split lock_print_info() into lock_print_info_summary()
and lock_print_info_all_transactions().
innobase/include/srv0srv.h:
srv_printf_innodb_monitor(): Add output parameters trx_start and trx_end.
innobase/srv/srv0srv.c:
srv_printf_innodb_monitor(): Add output parameters trx_start and trx_end.
sql/ha_innodb.cc:
innodb_show_status(): Truncate oversized output at the beginning
of the list of active transactions, if possible.
MLOG_COMP_REC_SEC_DELETE_MARK with MLOG_REC_SEC_DELETE_MARK
in order to reduce the space occupied by the redo log.
innobase/btr/btr0cur.c:
Replace MLOG_COMP_REC_SEC_DELETE_MARK with MLOG_REC_SEC_DELETE_MARK
and eliminate redundant dict_index_t* parameters.
innobase/ibuf/ibuf0ibuf.c:
Remove unnecessary parameter to btr_cur_del_unmark_for_ibuf()
innobase/include/btr0cur.h:
Remove unnecessary dict_index_t* parameters
innobase/include/mtr0mtr.h:
Note that MLOG_COMP_REC_SEC_DELETE_MARK is obsolete
innobase/log/log0recv.c:
recv_parse_or_apply_log_rec_body():
Ignore the index information in MLOG_COMP_REC_SEC_DELETE_MARK.
Add assertions about page_is_comp().
most InnoDB threads are not terminated properly and the buffer pool is not flushed
to disk. Still no committed transaction is lost as we flush the logs to disk.
InnoDB does crash recovery at startup after this shutdown.
Using this shutdown in testsuite (mysql-test-run --mysqld=--innodb_fast_shutdown=2) saved 3 minutes (13% of total time).
innobase/include/srv0srv.h:
srv_fast_shutdown now int to allow 3 values, replacing the srv_fast_shutdown/srv_very_fast_shutdown combo
innobase/log/log0log.c:
srv_very_fast_shutdown -> (srv_fast_shutdown == 2)
innobase/srv/srv0srv.c:
srv_very_fast_shutdown -> (srv_fast_shutdown == 2)
innobase/srv/srv0start.c:
moving message to the InnoDB internal code (like "InnoDB: Starting shutdown" is)
instead of ha_innodb.cc. That's to have ut_print_timestamp().
sql/ha_innodb.cc:
As innodb_fast_shutdown is now settable, srv_fast_shutdown must be
set at shutdown, not at startup.
sql/ha_innodb.h:
innobase_fast_shutdown now ulong to accept 3 values
sql/mysqld.cc:
Making the "very fast" InnoDB shutdown accessible to users, by passing
--innodb-fast-shutdown=2 (disabled on Netware)
sql/set_var.cc:
innodb_fast_shutdown now settable on the fly (global variable).
So that user can decide to do a normal/fast/fastest shutdown
just before doing it.
innobase/dict/dict0dict.c:
Auto merged
innobase/dict/dict0load.c:
Auto merged
innobase/include/dict0dict.h:
Auto merged
innobase/row/row0mysql.c:
Auto merged
myisam/mi_check.c:
Auto merged
myisam/mi_dynrec.c:
Auto merged
myisam/myisamdef.h:
Auto merged
mysql-test/r/kill.result:
Auto merged
mysql-test/t/kill.test:
Auto merged
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
ndb/src/kernel/main.cpp:
Auto merged
ndb/src/mgmsrv/MgmtSrvr.hpp:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/mysqld.cc:
Auto merged
if foreign_key_checks=0. (Bug #9802)
innobase/dict/dict0dict.c:
dict_foreign_add_to_cache(): Add flag check_types.
If the flag is FALSE, ignore character set mismatch.
innobase/dict/dict0load.c:
dict_load_foreign(), dict_load_foreigns(): Add flag check_types.
If the flag is FALSE, differences in character sets will be ignored.
innobase/include/dict0dict.h:
dict_foreign_add_to_cache(): Add flag check_types.
If the flag is FALSE, differences in character sets will be ignored.
innobase/include/dict0load.h:
dict_load_foreigns(): Add flag check_types.
If the flag is FALSE, differences in character sets will be ignored.
innobase/row/row0mysql.c:
row_table_add_foreign_constraints(), row_rename_table_for_mysql():
Pass trx->check_foreigns to dict_load_foreigns()
sql/ha_innodb.cc:
ha_innobase::rename_table(): Clear trx->check_foreign if necessary.
Gluh's SESSION/GLOBAL for @variables fix in sql_yacc.yy and
Bar's well_formed_len() changes in ndb code
did not make it and should be re-applied manually
BitKeeper/etc/logging_ok:
auto-union
include/m_ctype.h:
Auto merged
innobase/btr/btr0pcur.c:
Auto merged
innobase/include/btr0pcur.h:
Auto merged
innobase/include/os0file.h:
Auto merged
innobase/os/os0file.c:
Auto merged
innobase/row/row0sel.c:
Auto merged
innobase/srv/srv0start.c:
Auto merged
mysql-test/r/user_var.result:
Auto merged
mysql-test/t/user_var.test:
Auto merged
ndb/include/ndbapi/NdbTransaction.hpp:
Auto merged
ndb/src/ndbapi/NdbTransaction.cpp:
Auto merged
ndb/tools/desc.cpp:
Auto merged
strings/ctype-big5.c:
Auto merged
strings/ctype-mb.c:
Auto merged
strings/ctype-simple.c:
Auto merged
strings/ctype-sjis.c:
Auto merged
strings/ctype-ucs2.c:
Auto merged
strings/ctype-ujis.c:
Auto merged
BitKeeper/deleted/.del-NdbResultSet.cpp~84d192cf3f42600d:
ul
ndb/include/ndbapi/NdbScanOperation.hpp:
ul
ndb/src/ndbapi/NdbIndexOperation.cpp:
ul
ndb/src/ndbapi/NdbOperationDefine.cpp:
ul
ndb/src/ndbapi/NdbOperationSearch.cpp:
ul
ndb/src/ndbapi/NdbScanOperation.cpp:
ul
sql/field.cc:
manually merged, because bk messed it up
sql/sql_yacc.yy:
merged
between two server instances at server shutdown/startup.
This conflict on advisory locks appears to be the result of a bug
in the operating system; these locks should be released when the
files are closed, but somehow that does not always happen
immediately in Linux. (Bug #9381)
innobase/include/os0file.h:
Add OS_FILE_OPEN_RETRY for os_file_create()ing ibdata1
innobase/os/os0file.c:
os_file_lock(): Do not close the file on failure, but let the
callers do that.
os_file_create(): If create_mode==OS_FILE_OPEN_RETRY and
os_file_lock() fails, keep retrying for 100 seconds.
innobase/srv/srv0start.c:
open_or_create_data_files(): Open the first data file with
OS_FILE_OPEN_RETRY, to resolve a conflict with a shutting-down
instance of the MySQL server.
Add diagnostic code to track assertion failure in ut_a(cursor->old_stored == BTR_PCUR_OLD_STORED); the failure happened in OPTIMIZE TABLE, and in 4.0.24 in some other context
innobase/include/btr0pcur.h:
Add diagnostic code to track assertion failure in ut_a(cursor->old_stored == BTR_PCUR_OLD_STORED); the failure happened in OPTIMIZE TABLE, and in 4.0.24 in some other context
innobase/include/btr0pcur.ic:
Add diagnostic code to track assertion failure in ut_a(cursor->old_stored == BTR_PCUR_OLD_STORED); the failure happened in OPTIMIZE TABLE, and in 4.0.24 in some other context
innobase/btr/btr0pcur.c:
Add diagnostic code to track assertion failure in ut_a(cursor->old_stored == BTR_PCUR_OLD_STORED); the failure happened in OPTIMIZE TABLE, and in 4.0.24 in some other context
innobase/row/row0sel.c:
Add diagnostic code to track assertion failure in ut_a(cursor->old_stored == BTR_PCUR_OLD_STORED); the failure happened in OPTIMIZE TABLE, and in 4.0.24 in some other context
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
innobase/include/trx0trx.h:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/item.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
into hundin.mysql.fi:/home/heikki/mysql-5.0
BitKeeper/etc/logging_ok:
auto-union
include/config-netware.h:
Auto merged
innobase/include/trx0trx.h:
Auto merged
innobase/trx/trx0trx.c:
Auto merged
If MySQL wrote to its binlog, but for some reason trx->update_undo and trx->insert_undo were NULL in InnoDB, then trx->commit_lsn was garbage, and InnoDB could assert in the log flush of trx_commit_complete_for_mysql() (Bug #9277)
innobase/include/trx0trx.h:
If MySQL wrote to its binlog, but for some reason trx->update_undo and trx->insert_undo were NULL in InnoDB, then trx->commit_lsn was garbage, and InnoDB could assert in the log flush of trx_commit_complete_for_mysql() (Bug #9277)
innobase/trx/trx0trx.c:
If MySQL wrote to its binlog, but for some reason trx->update_undo and trx->insert_undo were NULL in InnoDB, then trx->commit_lsn was garbage, and InnoDB could assert in the log flush of trx_commit_complete_for_mysql() (Bug #9277)
The missing DATA_BINARY_TYPE in BLOBs created with < 4.0.14 does not cause any harm, because there were no indexes on such BLOBs
innobase/include/data0type.h:
The missing DATA_BINARY_TYPE in BLOBs created with < 4.0.14 does not cause any harm, because there were no indexes on such BLOBs
Change the sorting order of TEXT columns in InnoDB: pad with spaces at the end in comparisons; we MUST UPDATE the MySQL MANUAL to warn about the need to rebuild tables (also MyISAM) in certain cases in an upgrade to 5.0.3; TODO: study what complications the missing DATA_BINARY_TYPE flag in InnoDB < 4.0.14 causes: we would compare then also BLOBs with space padding, not just TEXT
innobase/include/data0type.ic:
Change the sorting order of TEXT columns in InnoDB: pad with spaces at the end in comparisons; we MUST UPDATE the MySQL MANUAL to warn about the need to rebuild tables (also MyISAM) in certain cases in an upgrade to 5.0.3; TODO: study what complications the missing DATA_BINARY_TYPE flag in InnoDB < 4.0.14 causes: we would compare then also BLOBs with space padding, not just TEXT
Revert the change to the space padding of BLOB and TEXT in comparisons; we cannot change the sorting order, because that would make old tables to appear corrupt; better to change LIKE 'a%' processing in MySQL, so that the lower end of the search interval would be 'a', not 'a '
innobase/include/data0type.ic:
Revert the change to the space padding of BLOB and TEXT in comparisons; we cannot change the sorting order, because that would make old tables to appear corrupt; better to change LIKE 'a%' processing in MySQL, so that the lower end of the search interval would be 'a', not 'a '
Fix that 'a' LIKE 'a%' was not true for an InnoDB BLOB or TEXT type column prefix index search: InnoDB assumed that the BLOB and TEXT should not be padded with space in comparisons; this bug is also in 4.1; it may have worked in 4.1 because MySQL may have asked there for strings >= 'a', while in 5.0 it asks for strings >= 'a '
innobase/include/data0type.ic:
Fix that 'a' LIKE 'a%' was not true for an InnoDB BLOB or TEXT type column prefix index search: InnoDB assumed that the BLOB and TEXT should not be padded with space in comparisons; this bug is also in 4.1; it may have worked in 4.1 because MySQL may have asked there for strings >= 'a', while in 5.0 it asks for strings >= 'a '
Fix a crash in a simple search with a key: the dtype->len of a true VARCHAR is the payload maximum len in bytes: it does not include the 2 bytes MySQL uses to store the string length
ha_innodb.cc:
Fix a crash in true VARCHARs in test-innodb: we passed a wrong pointer to the column conversion in an UPDATE
rowid_order_innodb.result, ps_3innodb.result, innodb.result, endspace.result:
Edit InnoDB test results to reflect the arrival of true VARCHARs
mysql-test/r/endspace.result:
Edit InnoDB test results to reflect the arrival of true VARCHARs
mysql-test/r/innodb.result:
Edit InnoDB test results to reflect the arrival of true VARCHARs
mysql-test/r/ps_3innodb.result:
Edit InnoDB test results to reflect the arrival of true VARCHARs
mysql-test/r/rowid_order_innodb.result:
Edit InnoDB test results to reflect the arrival of true VARCHARs
sql/ha_innodb.cc:
Fix a crash in true VARCHARs in test-innodb: we passed a wrong pointer to the column conversion in an UPDATE
innobase/row/row0sel.c:
Fix a crash in a simple search with a key: the dtype->len of a true VARCHAR is the payload maximum len in bytes: it does not include the 2 bytes MySQL uses to store the string length
innobase/include/data0type.h:
Fix a crash in a simple search with a key: the dtype->len of a true VARCHAR is the payload maximum len in bytes: it does not include the 2 bytes MySQL uses to store the string length
protect prepare-...-commit with a mutex to ensure that commits in binlog and in the innodb have the same order
store binlog position with the commit
innobase/include/trx0trx.h:
comment modified
sql/ha_innodb.cc:
protect prepare-...-commit with a mutex to ensure that commits in binlog and in the innodb have the same order
store binlog position with the commit
sql/handler.cc:
ha_prepare cannot return -1
Add a settable session variable innodb_support_xa; setting it to 0 can save up to 10 % of CPU time and 150 bytes of space in each undo log
trx0trx.h, trx0undo.c, trx0trx.c, trx0roll.c:
Enable XA if innodb_support_xa is not set to 0; make prepare to do log fsync's according to innodb_flush_log_at_trx_commit
innobase/trx/trx0roll.c:
Enable XA if innodb_support_xa is not set to 0; make prepare to do log fsync's according to innodb_flush_log_at_trx_commit
innobase/trx/trx0trx.c:
Enable XA if innodb_support_xa is not set to 0; make prepare to do log fsync's according to innodb_flush_log_at_trx_commit
innobase/trx/trx0undo.c:
Enable XA if innodb_support_xa is not set to 0; make prepare to do log fsync's according to innodb_flush_log_at_trx_commit
innobase/include/trx0trx.h:
Enable XA if innodb_support_xa is not set to 0; make prepare to do log fsync's according to innodb_flush_log_at_trx_commit
sql/sql_class.h:
Add a settable session variable innodb_support_xa; setting it to 0 can save up to 10 % of CPU time and 150 bytes of space in each undo log
sql/ha_innodb.cc:
Add a settable session variable innodb_support_xa; setting it to 0 can save up to 10 % of CPU time and 150 bytes of space in each undo log
sql/mysqld.cc:
Add a settable session variable innodb_support_xa; setting it to 0 can save up to 10 % of CPU time and 150 bytes of space in each undo log
sql/set_var.cc:
Add a settable session variable innodb_support_xa; setting it to 0 can save up to 10 % of CPU time and 150 bytes of space in each undo log
Restore sensible values to REC_OFFS_NORMAL_SIZE and REC_OFFS_SMALL_SIZE.
innobase/include/rem0rec.h:
Restore sensible values to REC_OFFS_NORMAL_SIZE and REC_OFFS_SMALL_SIZE.
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
Build-tools/Do-compile:
Auto merged
client/mysql.cc:
Auto merged
client/mysqldump.c:
Auto merged
include/my_sys.h:
Auto merged
innobase/buf/buf0lru.c:
Auto merged
innobase/dict/dict0dict.c:
Auto merged
innobase/include/page0page.ic:
Auto merged
innobase/include/srv0srv.h:
Auto merged
innobase/os/os0thread.c:
Auto merged
innobase/rem/rem0cmp.c:
Auto merged
innobase/row/row0mysql.c:
Auto merged
innobase/row/row0sel.c:
Auto merged
innobase/srv/srv0srv.c:
Auto merged
innobase/trx/trx0sys.c:
Auto merged
innobase/trx/trx0trx.c:
Auto merged
innobase/ut/ut0ut.c:
Auto merged
myisam/ft_parser.c:
Auto merged
myisam/mi_create.c:
Auto merged
mysql-test/Makefile.am:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
mysql-test/r/mysqldump.result:
Auto merged
mysql-test/r/ndb_alter_table.result:
Auto merged
mysql-test/t/mysqldump.test:
Auto merged
mysql-test/t/ndb_alter_table.test:
Auto merged
mysys/hash.c:
Auto merged
mysys/my_bitmap.c:
Auto merged
ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
scripts/make_win_src_distribution.sh:
Auto merged
sql/net_serv.cc:
Auto merged
sql/sql_select.cc:
Auto merged
innobase/include/srv0srv.h:
Declare those variables as ulong that are declared in ha_innodb.h
innobase/srv/srv0srv.c:
Define those variables as ulong that are declared in ha_innodb.h
correct the definition of srv_max_buf_pool_modified_pct.
innobase/include/srv0srv.h:
Declare srv_max_buf_pool_modified_pct
innobase/srv/srv0srv.c:
Define srv_max_buf_pool_modified_pct as ulong,
as it is declared in ha_innodb.h.
innobase/include/row0vers.h:
row_vers_build_for_consistent_read():
Add parameters offsets and offset_heap
in order to avoid recomputing the offsets in the caller.
innobase/row/row0sel.c:
Eliminate some rec_get_offsets() calls.
innobase/row/row0vers.c:
row_vers_build_for_consistent_read():
Add parameters offsets and offset_heap
in order to avoid recomputing the offsets in the caller.
innobase/buf/buf0lru.c:
Portability fix: Use %p for printing pointers
innobase/dict/dict0dict.c:
Properly cast the arguments of toupper()
innobase/eval/eval0proc.c:
Declare loop_var_value with a matching data type.
innobase/include/mem0mem.ic:
Remove implicit type conversion
innobase/include/page0page.ic:
Portability fix: Use %p for printing pointers
innobase/include/pars0pars.h:
Remove implicit type conversion
innobase/include/pars0sym.h:
Remove implicit type conversion
innobase/mem/mem0dbg.c:
Portability fix: Use %p for printing pointers
innobase/os/os0file.c:
Add DWORD casts for Windows
innobase/os/os0sync.c:
Add DWORD casts for Windows
innobase/os/os0thread.c:
Add DWORD casts for Windows
innobase/rem/rem0cmp.c:
Make implicit type conversions explicit
innobase/row/row0mysql.c:
Make implicit type conversions explicit
innobase/row/row0sel.c:
Portability fix: Use %p for printing pointers
innobase/trx/trx0sys.c:
Declare trx_sys_mysql_bin_log_pos_high and
trx_sys_mysql_bin_log_pos_low with a matching data type
innobase/ut/ut0ut.c:
Make implicit type conversion explicit
innobase/include/srv0srv.h:
Auto merged
innobase/srv/srv0srv.c:
Auto merged
myisam/mi_create.c:
Auto merged
myisam/mi_open.c:
Auto merged
myisam/myisamdef.h:
Auto merged
sql/ha_innodb.cc:
Auto merged
mysql-test/r/myisam.result:
SCCS merged
mysql-test/t/myisam.test:
SCCS merged
sql/ha_innodb.h:
SCCS merged
innobase/dict/dict0crea.c:
dict_truncate_index_tree(): Commit the mtr after deleting the
index tree. Add diagnostics for error cases. Let the caller update
SYS_INDEXES.PAGE_NO to the new root page number. Return the new
root page number, or FIL_NULL on error.
innobase/include/dict0crea.h:
dict_truncate_index_tree(): Commit the mtr after deleting the
index tree. Add diagnostics for error cases. Let the caller update
SYS_INDEXES.PAGE_NO to the new root page number. Return the new
root page number, or FIL_NULL on error.
innobase/include/page0page.ic:
page_mem_free(): Disable the memset() call, to make it possible to
recover some data if someone accidentally deletes a large number
of records from a table.
innobase/log/log0recv.c:
Do not disable InnoDB Hot Backup specific code in MySQL builds.
innobase/row/row0mysql.c:
row_truncate_table_for_mysql(): Remove an infinite loop in case
a SYS_INDEXES record has been deleted. Avoid deadlocks by committing
and restarting the mini-transaction.
sql/ha_innodb.cc:
ha_innobase::delete_all_rows(): set trx->active_trans = 1
remove old junk and to improve compression ratio.
InnoDB: Make implicit type conversions explicit. (Bug #8826)
innobase/btr/btr0cur.c:
Add "offsets" parameter to page_cur_delete_rec() calls
btr_cur_optimistic_delete(): Simplify the logic with a flag variable
btr_cur_pessimistic_delete(): Compute "offsets" earlier
innobase/include/page0cur.h:
page_cur_delete_rec(): Add parameter "offsets"
innobase/include/page0page.h:
page_mem_free(): Replace parameter "index" with "offsets"
innobase/include/page0page.ic:
page_mem_free(): Replace parameter "index" with "offsets".
Clear the data bytes of the freed record.
(The "extra" bytes will be needed by free space management.)
innobase/include/rem0rec.h:
Remove unnecessary function rec_get_size()
innobase/log/log0recv.c:
Remove function rec_apply_log_recs_for_backup()
unless #ifdef UNIV_HOTBACKUP.
innobase/page/page0cur.c:
Add parameter "offsets" to page_cur_delete_rec().
innobase/page/page0page.c:
page_create(): Zero fill the data area.
page_delete_rec_list_start(): Add parameter "offsets"
to page_cur_delete_rec().
innobase/rem/rem0rec.c:
Remove unnecessary function rec_get_size().
Fix compiler warnings about implicit type conversions. (Bug #8826)
innobase/srv/srv0srv.c:
Fix compiler warnings about implicit type conversions. (Bug #8826)
innobase/sync/sync0sync.c:
Fix compiler warnings about implicit type conversions. (Bug #8826)
innobase/include/srv0srv.h:
Declare srv_auto_extend_increment and srv_max_purge_lag as ulong,
because ulint and ulong are of different size on Win64.
innobase/srv/srv0srv.c:
Declare srv_auto_extend_increment and srv_max_purge_lag as ulong,
because ulint and ulong are of different size on Win64.
Make InnoDB-5.0.3 to process log records of 4.1 undo log header create and reuse just like in 4.1; storing XID to the start of the undo log is a separately logged operation; this conforms to Rule 3 of InnoDB redo logging
innobase/trx/trx0roll.c:
Make InnoDB-5.0.3 to process log records of 4.1 undo log header create and reuse just like in 4.1; storing XID to the start of the undo log is a separately logged operation; this conforms to Rule 3 of InnoDB redo logging
innobase/trx/trx0trx.c:
Make InnoDB-5.0.3 to process log records of 4.1 undo log header create and reuse just like in 4.1; storing XID to the start of the undo log is a separately logged operation; this conforms to Rule 3 of InnoDB redo logging
innobase/trx/trx0undo.c:
Make InnoDB-5.0.3 to process log records of 4.1 undo log header create and reuse just like in 4.1; storing XID to the start of the undo log is a separately logged operation; this conforms to Rule 3 of InnoDB redo logging
innobase/include/trx0undo.h:
Make InnoDB-5.0.3 to process log records of 4.1 undo log header create and reuse just like in 4.1; storing XID to the start of the undo log is a separately logged operation; this conforms to Rule 3 of InnoDB redo logging
into serg.mylan:/usr/home/serg/Abk/mysql-5.0-xa
configure.in:
Auto merged
mysql-test/r/drop_temp_table.result:
Auto merged
mysql-test/r/innodb.result:
Auto merged
mysql-test/t/innodb.test:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/log.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
innobase/include/data0type.ic:
dtype_get_fixed_size(), dtype_get_min_size(): Do not check
prtype, mbminlen and mbmaxlen for types other than DATA_MYSQL,
as that is the only type that can hold fixed-length strings of
variable-length objects (UTF-8 encoded characters).
innobase/row/row0sel.c:
row_sel_field_store_in_mysql_format(): Document which fields of
templ will be used. Add 0x20 padding only to DATA_MYSQL fields.
Change related debug assertions to real assertions for now, until
5.0 becomes generally available. Check with assertion that all
data types handled in the catch-all branch are appropriate.
exceeds the maximum record size. (Bug #5682)
innobase/data/data0type.c:
Remove function dtype_str_needs_mysql_cmp().
Document dtype_get_at_most_n_mbchars().
dtype_get_at_most_n_mbchars(): Use mbminlen and mbmaxlen.
innobase/dict/dict0crea.c:
dict_build_table_def_step(): Reject if minimum row size is too big.
innobase/include/data0type.h:
Remove dtype_str_needs_mysql_cmp().
Document dtype_get_at_most_n_mbchars().
Add dtype_get_min_size().
innobase/include/data0type.ic:
Add dtype_get_min_size().
innobase/include/row0mysql.h:
row_mysql_store_col_in_innobase_format(): Add parameter comp,
as we will only truncate UTF-8 CHAR(n) columns in row_format=compact.
innobase/include/row0mysql.ic:
row_mysql_store_col_in_innobase_format(): Add parameter comp,
as we will only truncate UTF-8 CHAR(n) columns in row_format=compact.
innobase/row/row0mysql.c:
Pass parameter comp to row_mysql_store_col_in_innobase_format().
innobase/row/row0sel.c:
Pass parameter comp to row_mysql_store_col_in_innobase_format().
row_sel_field_store_in_mysql_format(): Undo the stripping of
UTF-8 CHAR(n) columns by padding with spaces.
client/mysqlbinlog.cc:
Auto merged
configure.in:
Auto merged
include/my_global.h:
Auto merged
include/my_pthread.h:
Auto merged
innobase/trx/trx0trx.c:
Auto merged
mysql-test/include/varchar.inc:
Auto merged
mysql-test/r/bdb.result:
Auto merged
mysql-test/r/myisam.result:
Auto merged
mysql-test/r/mysqlbinlog2.result:
Auto merged
mysql-test/t/ctype_ucs.test:
Auto merged
mysql-test/t/user_var.test:
Auto merged
mysys/hash.c:
Auto merged
sql/item_func.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/log_event.h:
Auto merged
sql/set_var.h:
Auto merged
sql/slave.cc:
Auto merged
sql/slave.h:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_repl.cc:
Auto merged
sql/sql_repl.h:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_trigger.cc:
Auto merged
mysql-test/r/ctype_ucs.result:
ul
mysql-test/r/drop_temp_table.result:
ul
mysql-test/r/innodb.result:
ul
mysql-test/r/insert_select.result:
ul
mysql-test/r/mix_innodb_myisam_binlog.result:
ul
mysql-test/r/rpl_change_master.result:
ul
mysql-test/r/rpl_charset.result:
ul
mysql-test/r/rpl_error_ignored_table.result:
ul
mysql-test/r/rpl_flush_log_loop.result:
ul
mysql-test/r/rpl_flush_tables.result:
ul
mysql-test/r/rpl_loaddata.result:
ul
mysql-test/r/rpl_loaddata_rule_m.result:
ul
mysql-test/r/rpl_log.result:
ul
mysql-test/r/rpl_max_relay_size.result:
ul
mysql-test/r/rpl_relayrotate.result:
ul
mysql-test/r/rpl_replicate_do.result:
ul
mysql-test/r/rpl_rotate_logs.result:
ul
mysql-test/r/rpl_temporary.result:
ul
mysql-test/r/rpl_timezone.result:
ul
mysql-test/r/rpl_until.result:
ul
mysql-test/r/rpl_user_variables.result:
ul
mysql-test/r/user_var.result:
ul
suggested in review by Heikki.
innobase/include/data0type.h:
Improve comment of dtype_struct.
innobase/include/data0type.ic:
Rename innobase_get_mb_cset() to innobase_get_cset_width().
dtype_get_fixed_size(): Add an extra integrity check for
type->prtype, type->mbminlen and type->mbmaxlen.
sql/ha_innodb.cc:
Rename innobase_get_mb_cset() to innobase_get_cset_width()
innobase/data/data0type.c:
Add mbminlen and mbmaxlen to dtype_t
innobase/include/data0type.h:
Add mbminlen and mbmaxlen to dtype_t
Add dtype_get_mbminlen() and dtype_get_mbmaxlen()
innobase/include/data0type.ic:
Add dtype_set_mblen()
Add dtype_get_mbminlen() and dtype_get_mbmaxlen()
Replace innobase_is_mb_cset() with innobase_get_mb_cset()
innobase/include/row0mysql.h:
Add mbminlen and mbmaxlen
innobase/include/row0mysql.ic:
Detect UCS2 collations based on mbminlen
innobase/row/row0sel.c:
Detect UCS2 collations based on mbminlen
sql/ha_innodb.cc:
Replace innobase_is_mb_cset() with innobase_get_mb_cset()
build_template(): Initialize templ->mbminlen and templ->mbmaxlen
by adding #ifndef UNIV_HOTBACKUP and adjusting some function
declarations.
innobase/data/data0type.c:
Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/dict/dict0dict.c:
Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/dict/dict0load.c:
Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/include/data0type.ic:
Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/include/srv0srv.h:
Introduce srv_init(), so that it can be called in InnoDB Hot Backup
innobase/include/srv0start.h:
Introduce srv_add_path_separator_if_needed(), so that it can be
invoked in InnoDB Hot Backup
innobase/include/sync0sync.h:
Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/include/sync0sync.ic:
Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/include/trx0trx.h:
trx_recover_for_mysql(): replace uint with ulint, as uint is not
declared in InnoDB Hot Backup
innobase/lock/lock0lock.c:
Replace bool with ibool
Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/row/row0ins.c:
Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/row/row0mysql.c:
Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/srv/srv0srv.c:
Make srv_init() global, so that InnoDB Hot Backup can call it.
Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/srv/srv0start.c:
Make srv_add_path_separator_if_needed() global for InnoDB Hot Backup.
Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/sync/sync0rw.c:
Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/sync/sync0sync.c:
Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/trx/trx0roll.c:
Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/trx/trx0trx.c:
Replace uint with ulint, as uint is undeclared in InnoDB Hot Backup
innobase/ut/ut0ut.c:
Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
Fix a debug assertion in rem0rec.ic on AMD64; 4.1 was already fixed
innobase/include/rem0rec.ic:
Fix a debug assertion in rem0rec.ic on AMD64; 4.1 was already fixed
(Bug #7788 "Table is full" occurs during a multitable update")
client/mysqldump.c:
Style fixes
innobase/include/univ.i:
UNIV_DEBUG should not depend on configure --debug but on --debug=full
mysql-test/r/compare.result:
Added test to find bug in previous bugfix
mysql-test/t/compare.test:
Added test to find bug in previous bugfix
mysys/my_handler.c:
Proper fix for comparision with ' '
strings/ctype-big5.c:
Proper fix for comparision with ' '
strings/ctype-bin.c:
Proper fix for comparision with ' '
strings/ctype-gbk.c:
Proper fix for comparision with ' '
strings/ctype-latin1.c:
Proper fix for comparision with ' '
strings/ctype-mb.c:
Proper fix for comparision with ' '
strings/ctype-simple.c:
Proper fix for comparision with ' '
strings/ctype-sjis.c:
Proper fix for comparision with ' '
strings/ctype-tis620.c:
Proper fix for comparision with ' '
strings/ctype-ucs2.c:
Proper fix for comparision with ' '
strings/ctype-utf8.c:
Proper fix for comparision with ' '
innobase/include/rem0rec.ic:
Improve formatting of comments
innobase/include/trx0trx.h:
dict_operation: document the effect of setting the flag
innobase/row/row0mysql.c:
Do not set the dict_operation flag. (Bug #8144)
Allow MySQL to have open handles to the table being truncated.
sql/ha_innodb.cc:
store_lock(): Do not weaken TL_WRITE locks taken by TRUNCATE TABLE.
Archive fix by Ingo.
Innodb compile fix by Monty.
configure.in:
Auto merged
innobase/include/univ.i:
Auto merged
BUILD/SETUP.sh:
Auto merged
mysql-test/t/archive.test:
Auto merged
sql/examples/ha_archive.cc:
Auto merged
sql/examples/ha_archive.h:
Auto merged
sql/handler.cc:
Auto merged
sql/sql_select.cc:
Auto merged
innobase/fil/fil0fil.c:
Merged Montys fix.
Corrected formatting of comments.
rem0rec.ic:
rec_set_info_and_status_bits(): pass arguments to rec_set_info_bits()
in the correct order.
Corrected formatting of comments.
innobase/include/rem0rec.ic:
rec_set_info_and_status_bits(): pass arguments to rec_set_info_bits()
in the correct order.
Corrected formatting of comments.
innobase/include/rem0rec.h:
Corrected formatting of comments.