| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
innobase/btr/btr0cur.c:
Move #ifdef outside ut_ad() argument.
innobase/page/page0cur.c:
Move #ifdef outside ut_ad() argument.
|
|\
| |
| |
| |
| |
| |
| |
| | |
into hundin.mysql.fi:/home/marko/mysql-5.0-current
sql/ha_innodb.cc:
Auto merged
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
innobase/rem/rem0rec.c:
rec_set_nth_field_extern_bit_new(): Fix a bug
(read the "extern" flag from the correct position).
rec_set_nth_field_extern_bit_new(),
rec_convert_dtuple_to_rec_new(),
rec_copy_prefix_to_buf(): Eliminate variables, reduce branching,
optimize the handling of the null flags.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Optimize speed: no need to keep track of set new rec locks in a consistent read
innobase/row/row0sel.c:
Optimize speed: no need to keep track of set new rec locks in a consistent read
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
into hundin.mysql.fi:/home/marko/mysql-5.0-current
innobase/fil/fil0fil.c:
SCCS merged
innobase/include/os0file.h:
SCCS merged
innobase/os/os0file.c:
SCCS merged
|
| |
| |
| |
| |
| | |
innobase/os/os0file.c:
os_file_set_size(): After review fixes (prevent overflows)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Remove compiler warnings on Windows - Bug #11580
innobase/btr/btr0btr.c:
Remove compiler warnings on Windows - Bug #11580
innobase/btr/btr0cur.c:
Remove compiler warnings on Windows - Bug #11580
innobase/fil/fil0fil.c:
Remove compiler warnings on Windows - Bug #11580
innobase/ibuf/ibuf0ibuf.c:
Remove compiler warnings on Windows - Bug #11580
innobase/log/log0recv.c:
Remove compiler warnings on Windows - Bug #11580
innobase/os/os0file.c:
Remove compiler warnings on Windows - Bug #11580
innobase/page/page0page.c:
Remove compiler warnings on Windows - Bug #11580
innobase/row/row0upd.c:
Remove compiler warnings on Windows - Bug #11580
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
into hundin.mysql.fi:/home/heikki/mysql-5.0
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fix for compilation failure with Forte Developer C++.
configure.in:
Export ARFLAGS, so innobase could pick it up.
innobase/configure.in:
Use ARFLAGS exported by parent configure script.
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | | |
into hundin.mysql.fi:/home/heikki/mysql-5.0
|
| | |
| | |
| | |
| | |
| | | |
innobase/row/row0ins.c:
Remove compilation warnings and errors on SGI IRIX.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
innobase/btr/btr0cur.c:
Replace for loop with memset()
innobase/buf/buf0buf.c:
buf_print(): Remove for loop for initializing counts[].
Similar to index_ids[], the elements of this array will
be initialized when they are allocated, i.e., counts[n_found++] = 1.
innobase/os/os0file.c:
Replace for loop with memset()
innobase/page/page0page.c:
Replace for loop with memset()
innobase/trx/trx0rec.c:
Replace for loop with memset()
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
innobase/include/rem0rec.h:
rec_get_nth_field(): Correct the comment.
innobase/include/rem0rec.ic:
rec_get_nth_field(): Correct the comment.
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | | |
into hundin.mysql.fi:/home/heikki/mysql-5.0
innobase/trx/trx0undo.c:
Auto merged
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Apply manually Jan's patch to remove 64-Windows compiler warnings that were reported by Georg Richter
innobase/trx/trx0undo.c:
Apply manually Jan's patch to remove 64-Windows compiler warnings that were reported by Georg Richter
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
log_checkpoint_margin(): Correct a typo that was introduced
when fixing gcc 4.0 warnings.
innobase/log/log0log.c:
log_checkpoint_margin(): Correct a typo that was introduced
when fixing gcc 4.0 warnings.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
innobase/log/log0recv.c:
Remove GCC 4.0.0 warnings about possibly uninitialized variables.
innobase/row/row0umod.c:
row_undo_mod_undo_also_prev_vers(): Remove unused parameter thr,
always initialize *undo_no to remove GCC 4.0.0 warning
innobase/trx/trx0undo.c:
trx_undo_write_xid(): Remove warning about signedness mismatch,
add const qualifier to parameter xid.
sql/ha_innodb.cc:
Add proper casts from ulonglong to ulong in fprintf statements.
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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/buf/buf0buf.c:
Remove buf_dbg_counter unless #ifdef UNIV_DEBUG
Remove buf_debug_prints unless #ifdef UNIV_DEBUG
innobase/buf/buf0flu.c:
Remove buf_debug_prints unless #ifdef UNIV_DEBUG
innobase/buf/buf0lru.c:
Remove buf_debug_prints unless #ifdef UNIV_DEBUG
innobase/buf/buf0rea.c:
Remove buf_debug_prints unless #ifdef UNIV_DEBUG
innobase/include/buf0buf.h:
Remove buf_debug_prints unless #ifdef UNIV_DEBUG
innobase/include/buf0buf.ic:
Remove buf_dbg_counter unless #ifdef UNIV_DEBUG
innobase/include/log0log.h:
Remove log_do_write and log_debug_writes unless #ifdef UNIV_DEBUG
innobase/log/log0log.c:
Remove log_do_write and log_debug_writes unless #ifdef UNIV_DEBUG
innobase/log/log0recv.c:
Remove log_debug_writes unless #ifdef UNIV_DEBUG
innobase/srv/srv0start.c:
Remove log_do_write and buf_debug_prints unless #ifdef UNIV_DEBUG
innobase/sync/sync0sync.c:
Remove buf_debug_prints unless #ifdef UNIV_DEBUG
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
innobase/btr/btr0btr.c:
Code formatting: add blank line before "goto", do not indent labels
innobase/btr/btr0cur.c:
Code formatting: add blank line before "goto"
innobase/btr/btr0pcur.c:
btr_pcur_restore_position(): Replace assertion on cursor->pos_state
with if condition, to provide better diagnostics. Restore ut_a()
assertions on cursor->old_rec and cursor->old_n_fields.
innobase/btr/btr0sea.c:
btr_search_check_guess(): Declare prev_rec and next_rec closer
to usage. Add blank lines before goto statements.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
innobase/buf/buf0buf.c:
Remove buf_print() and buf_validate() unless #ifdef UNIV_DEBUG
innobase/buf/buf0lru.c:
Remove buf_LRU_print() and buf_LRU_validate() unless #ifdef UNIV_DEBUG
innobase/include/buf0buf.h:
Remove buf_print() and buf_validate() unless #ifdef UNIV_DEBUG
innobase/include/buf0lru.h:
Remove buf_LRU_print() and buf_LRU_validate() unless #ifdef UNIV_DEBUG
innobase/include/rem0rec.h:
rec_offs_comp(): Correct the comment about return value.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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/univ.i:
Replace PRULINT with ULINTPF in a comment.
Document the macros based on __builtin_expect()
and __builtin_prefetch().
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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().
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Move the flag btr_cur_print_record_ops behind #ifdef UNIV_DEBUG.
Remove unused variable btr_cur_rnd.
innobase/btr/btr0cur.c:
Move the flag btr_cur_print_record_ops behind #ifdef UNIV_DEBUG.
Remove unused variable btr_cur_rnd.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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().
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Enforce maximum char_length of UTF-8 data (Bug #10409).
Pad UTF-8 variable-length CHAR columns with 0x20.
Pad UCS2 CHAR columns with 0x0020 (Bug #10511).
innobase/data/data0type.c:
dtype_get_at_most_n_mbchars(): Avoid division by zero in assertion
when this function is called with dtype->mbmaxlen==0
innobase/row/row0ins.c:
row_ins_cascade_calc_update_vec(): Enforce maximum char_length of
UTF-8 data (Bug #10409).
Pad UTF-8 CHAR columns with 0x20.
Pad UCS2 CHAR columns with 0x0020 (Bug #10511).
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add UNIV_LIKELY and UNIV_UNLIKELY hints.
cmp_dtuple_rec_with_match(): Move condition outside loop.
Reduce the number of comparisons per iteration.
mtr0mtr.c:
mtr_memo_slot_release(): Add a UNIV_LIKELY hint.
Simplify the preprocessor magic.
buf0buf.c:
buf_page_optimistic_get_func(): Add UNIV_UNLIKELY hints.
Introduce an exit_func label to remove duplicated error exits.
innobase/buf/buf0buf.c:
buf_page_optimistic_get_func(): Add UNIV_UNLIKELY hints.
Introduce an exit_func label to remove duplicated error exits.
innobase/mtr/mtr0mtr.c:
mtr_memo_slot_release(): Add a UNIV_LIKELY hint.
Simplify the preprocessor magic.
innobase/rem/rem0cmp.c:
Add UNIV_LIKELY and UNIV_UNLIKELY hints.
cmp_dtuple_rec_with_match(): Move condition outside loop.
Reduce the number of comparisons per iteration.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
other rec_ functions based on OProfile measurements on GNU/Linux x86.
innobase/include/rem0rec.h:
Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp.
Remove rec_set_node_ptr_flag().
innobase/include/rem0rec.ic:
Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp.
Remove rec_set_node_ptr_flag().
Add UNIV_LIKELY and UNIV_UNLIKELY hints.
Correct a spelling error in comment.
Simplify rec_get_deleted_flag().
innobase/rem/rem0rec.c:
Add UNIV_LIKELY and UNIV_UNLIKELY hints.
rec_init_offsets(), rec_get_offsets_func(): Optimize for x86.
rec_set_field_extern_bits(): Move "comp" flag outside the loop.
rec_copy_prefix_to_buf(): Add UNIV_PREFETCH hints.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add UNIV_UNLIKELY hint.
lock0lock.c:
Correct the prototypes of lock_deadlock_recursive() and
lock_deadlock_occurs().
data0data.c:
dtuple_convert_big_rec(): Add UNIV_UNLIKELY hint.
ha_innodb.cc:
ha_innobase::write_row(): Correct the type of 'mode'.
sql/ha_innodb.cc:
ha_innobase::write_row(): Correct the type of 'mode'.
innobase/data/data0data.c:
dtuple_convert_big_rec(): Add UNIV_UNLIKELY hint.
innobase/lock/lock0lock.c:
Correct the prototypes of lock_deadlock_recursive() and
lock_deadlock_occurs().
innobase/row/row0upd.c:
Add UNIV_UNLIKELY hint.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
innobase/dict/dict0mem.c:
dict_mem_table_create(): Add a debug assertion.
innobase/include/btr0btr.ic:
btr_node_ptr_get_child_page_no(): Add a UNIV_UNLIKELY hint.
Remove a buf_frame_align() call.
innobase/include/btr0cur.ic:
btr_cur_get_page(): Add a debug assertion.
innobase/include/buf0buf.ic:
buf_block_peek_if_too_old(): Replace if() with return().
buf_block_align(), buf_frame_align(): Add UNIV_UNLIKELY hints.
innobase/include/data0type.ic:
dtype_get_fixed_size(): Add UNIV_UNLIKELY hints.
innobase/include/mem0mem.ic:
Remove signedness warning in debug assertion.
innobase/include/read0read.ic:
read_view_sees_trx_id(): Eliminate a comparison inside loop.
innobase/include/row0sel.ic:
open_step(): Add UNIV_EXPECT hint.
innobase/include/row0upd.ic:
upd_field_set_field_no(): Add a UNIV_UNLIKELY hint.
innobase/include/sync0rw.ic:
Add UNIV_LIKELY and UNIV_UNLIKELY hints.
rw_lock_x_lock_func_nowait(): Eliminate a function call.
Replace ut_a() assertions with ut_ad().
innobase/include/trx0rseg.ic:
Add UNIV_UNLIKELY hints.
innobase/include/ut0rnd.ic:
ut_fold_binary(): Eliminate a loop variable
to avoid register spilling on x86.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add some UNIV_LIKELY and UNIV_UNLIKELY hints.
dict_tree_copy_rec_order_prefix(): Add a UNIV_PREFETCH_R hint on rec.
innobase/dict/dict0dict.c:
Add some UNIV_LIKELY and UNIV_UNLIKELY hints.
dict_tree_copy_rec_order_prefix(): Add a UNIV_PREFETCH_R hint on rec.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
DATA_MYSQL_LATIN1_SWEDISH_CHARSET_COLL a constant.
innobase/data/data0type.c:
Remove data_mysql_latin1_swedish_charset_coll.
innobase/include/data0type.h:
Replace variable data_mysql_latin1_swedish_charset_coll
with constant DATA_MYSQL_LATIN1_SWEDISH_CHARSET_COLL.
innobase/rem/rem0cmp.c:
Replace variable data_mysql_latin1_swedish_charset_coll
with constant DATA_MYSQL_LATIN1_SWEDISH_CHARSET_COLL.
sql/ha_innodb.cc:
Eliminate variable data_mysql_latin1_swedish_charset_coll.
Add an assertion about DATA_MYSQL_LATIN1_SWEDISH_CHARSET_COLL.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|