1. 16 Jun, 2005 2 commits
    • unknown's avatar
      InnoDB: After review fixes · ca25e99b
      unknown authored
      
      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
      ca25e99b
    • unknown's avatar
      InnoDB: Fix ut0dbg compilation errors on NetWare · 76a11195
      unknown authored
      
      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()
      76a11195
  2. 15 Jun, 2005 1 commit
    • unknown's avatar
      InnoDB: Remove unreachable debug code from non-debug builds. · 5fed4f3a
      unknown authored
      
      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
      5fed4f3a
  3. 14 Jun, 2005 1 commit
    • unknown's avatar
      InnoDB: Cleanup and after review fixes. · 113c6278
      unknown authored
      
      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.
      113c6278
  4. 13 Jun, 2005 1 commit
    • unknown's avatar
      InnoDB: Remove unreferenced debug functions from non-debug builds. · 59332c86
      unknown authored
      
      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.
      59332c86
  5. 10 Jun, 2005 5 commits
    • unknown's avatar
      InnoDB: Remove compiler warning · f6da55d8
      unknown authored
      
      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.
      f6da55d8
    • unknown's avatar
      InnoDB: minor clean-up in os0file · 2ebdd2d9
      unknown authored
      
      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.
      2ebdd2d9
    • unknown's avatar
      innobase/include/univ.i: Added some comments. · 5900f0cd
      unknown authored
      
      innobase/include/univ.i:
        Replace PRULINT with ULINTPF in a comment.
        Document the macros based on __builtin_expect()
        and __builtin_prefetch().
      5900f0cd
    • unknown's avatar
      InnoDB: Improved the handling of assertions. · 7256cdaa
      unknown authored
      
      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().
      7256cdaa
    • unknown's avatar
      btr0cur.c: · 9db57192
      unknown authored
        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.
      9db57192
  6. 08 Jun, 2005 1 commit
    • unknown's avatar
      InnoDB: Do not distinguish explicitly requested table locks. · 2e2a4e4f
      unknown authored
      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().
      2e2a4e4f
  7. 13 May, 2005 1 commit
    • unknown's avatar
      InnoDB ON UPDATE CASCADE fixes: · 67d0502b
      unknown authored
      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).
      67d0502b
  8. 03 May, 2005 1 commit
    • unknown's avatar
      InnoDB: Disable throttling against thread thrashing by default. · 807a543b
      unknown authored
      
      sql/ha_innodb.cc:
        Remove unused variable innobase_thread_concurrency.
        Add UNIV_LIKELY hints to srv_thread_concurrency tests
        and lower the limit from 500 to 20.
      sql/ha_innodb.h:
        Remove unused variable innobase_thread_concurrency.
      sql/mysqld.cc:
        Make innodb_thread_concurrency=20 by default (it was 8).
      807a543b
  9. 27 Apr, 2005 2 commits
    • unknown's avatar
      Remove unused function rec_offs_nth_null(). · bcd03127
      unknown authored
      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().
      bcd03127
    • unknown's avatar
      Fix bugs found in previous optimizations. · 949112c1
      unknown authored
      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.
      949112c1
  10. 25 Apr, 2005 1 commit
    • unknown's avatar
      InnoDB: Performance optimizations based on OProfile analysis · 4a3a46af
      unknown authored
      
      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.
      4a3a46af
  11. 22 Apr, 2005 5 commits
    • unknown's avatar
      rem0cmp.c: · f51eb30b
      unknown authored
        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.
      f51eb30b
    • unknown's avatar
      InnoDB: Optimize rec_get_offsets(), rec_copy_prefix_to_buf() and · 1c8f5500
      unknown authored
      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.
      1c8f5500
    • unknown's avatar
      row0upd.c: · 33d5b13b
      unknown authored
        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.
      33d5b13b
    • unknown's avatar
      InnoDB: Some low-level optimizations made based on OProfile results. · 98dc4142
      unknown authored
      
      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.
      98dc4142
    • unknown's avatar
      dict0dict.c: · f2c13c3f
      unknown authored
        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.
      f2c13c3f
  12. 21 Apr, 2005 5 commits
    • unknown's avatar
      InnoDB: Make branch prediction assume that assertions do not fail. · c546b5f3
      unknown authored
      
      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.
      c546b5f3
    • unknown's avatar
      ha_innodb.cc: · 87c4f37a
      unknown authored
        trx_is_interrupted(): Remove debug output.
      
      
      sql/ha_innodb.cc:
        trx_is_interrupted(): Remove debug output.
      87c4f37a
    • unknown's avatar
      InnoDB: Speed up comparison functions by making · fea29080
      unknown authored
      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.
      fea29080
    • unknown's avatar
      InnoDB: Reduce memcpy() load in row_sel_pop_cached_row_for_mysql() · 7b07e332
      unknown authored
      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.
      7b07e332
    • unknown's avatar
      InnoDB: Define some macros around GCC's __builtin_expect() · 4e0e9a3b
      unknown authored
      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.
      4e0e9a3b
  13. 20 Apr, 2005 1 commit
    • unknown's avatar
      InnoDB: Make CHECK TABLE killable. (Bug #9730) · ea5c2a14
      unknown authored
      
      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().
      ea5c2a14
  14. 18 Apr, 2005 4 commits
    • unknown's avatar
      InnoDB: Replace the redo log entry type · dfa485b4
      unknown authored
      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().
      dfa485b4
    • unknown's avatar
      Merge mysql.com:/usr/local/bk/mysql-5.0 · 44bab0ea
      unknown authored
      into mysql.com:/home/pem/work/mysql-5.0
      
      
      sql/sql_yacc.yy:
        Auto merged
      44bab0ea
    • unknown's avatar
      Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-5.0 · ede0adac
      unknown authored
      into mysql.com:/M50/mysql-5.0
      
      
      ede0adac
    • unknown's avatar
      Merge mysql.com:/M50/mysql-5.0 into mysql.com:/M50/clone-5.0.4-build · e371d05b
      unknown authored
      
      scripts/make_binary_distribution.sh:
        Auto merged
      support-files/mysql.server.sh:
        Auto merged
      e371d05b
  15. 17 Apr, 2005 5 commits
  16. 16 Apr, 2005 4 commits