1. 25 Oct, 2007 1 commit
    • vasil's avatar
      branches/zip: · 976c562f
      vasil authored
       
      Make lock_get_type_str() to also indicate if it is a gap lock.
       
      Suggested by:	Heikki
      Approved by:	Marko
      976c562f
  2. 22 Oct, 2007 1 commit
  3. 19 Oct, 2007 1 commit
    • marko's avatar
      branches/zip: Introduce two new dictionary operation modes for transactions. · 1561b414
      marko authored
      enum trx_dict_op: dictionary operation modes
      
      trx_get_dict_operation(), trx_set_dict_operation(): Accessors for
      trx->dict_operation.
      
      lock_table_enqueue_waiting(), lock_rec_enqueue_waiting(): Do not complain
      about lock waits if the dictionary mode is TRX_DICT_OP_INDEX_MAY_WAIT.
      
      row_merge_lock_table(): Remove the work-around for avoiding the warning
      in lock_table_enqueue_waiting().
      
      trx_undo_mark_as_dict_operation(): Do not write trx->table_id to the
      undo log unless the dict_operation is TRX_DICT_OP_TABLE.
      
      ha_innobase::add_index(): Set the dict_operation mode initially to
      TRX_DICT_OP_INDEX_MAY_WAIT, then lock the table exclusively, and set the
      mode to TRX_DICT_OP_INDEX, and optionally to TRX_DICT_OP_TABLE when
      creating a temporary table.
      1561b414
  4. 18 Oct, 2007 1 commit
    • marko's avatar
      branches/zip: Remove const warnings reported by GCC 4.2.1. · d967aaa6
      marko authored
      page_cur_set_before_first(), page_cur_set_after_last(),
      page_cur_position(): Add const qualifiers to buf_block_t and rec.
      A better solution would be to define a const_page_cur_t and a
      set of accessors, but it would lead to severe code duplication.
      
      page_rec_get_n_recs_before(): Add const qualifiers.
      
      page_dir_get_nth_slot(): Define as a const-preserving macro.
      
      page_dir_slot_get_rec(), page_dir_slot_get_n_owned(),
      page_dir_find_owner_slot(), page_check_dir(): Add const qualifiers.
      
      page_rec_get_next_low(): Add const qualifiers.
      
      page_rec_get_next_const(), page_rec_get_prev_const(): New functions,
      based on the const-less page_rec_get_next() and page_rec_get_prev().
      
      page_cur_get_page(), page_cur_get_block(), page_cur_get_page_zip(),
      page_cur_get_rec(): Define as const-preserving macros.
      
      page_cur_try_search_shortcut(), page_cur_search_with_match():
      Add const qualifiers.
      
      buf_page_get_mutex(): Add a const qualifier to buf_page_t*.
      
      rec_get_next_ptr_const(): Const variant of rec_get_next_ptr().
      d967aaa6
  5. 03 Oct, 2007 1 commit
    • marko's avatar
      branches/zip: Silence most GCC 4.2.1 warnings about const pointers. · 6557ba53
      marko authored
      For some reason, GCC 4.2.1 ignores casts (for removing constness)
      in calls to inline functions.
      
      page_align(), ut_align_down(): Make the parameter const void*, but still
      return a non-const pointer.  This is ugly, but these functions cannot be
      replaced with a const-preserving macro in a portable way, given that
      the pointer argument is not always pointing to bytes.
      
      buf_block_get_page_zip(): Implement as a const-preserving macro.
      
      buf_frame_get_page_zip(), buf_block_align(): Add const qualifiers.
      
      lock_rec_get_prev(): Silence GCC 4.2.1 warnings.
      
      mlog_write_initial_log_record(), mlog_write_initial_log_record_fast(),
      mtr_memo_contains(): Add const qualifier to the pointer.
      
      page_header_get_ptr(): Rewrite as page_header_get_offs(), and
      implement as a macro that calls this function.
      6557ba53
  6. 01 Oct, 2007 1 commit
    • marko's avatar
      branches/zip: Optimize buf_page_try_get_func(). · 3d570330
      marko authored
      buf_block_hash_get(): New function, similar to buf_page_hash_get().
      
      buf_page_get_block(): Remove the const qualifiers.  This is a low-level
      function, and the operations on block->mutex are non-const.
      
      buf_page_try_get_func(): Implement with lower-level predicates, somewhat
      similar to buf_page_get_known_nowait().
      
      lock_rec_print(): Remove the unused variable zip_size and the
      call to fil_space_get_zip_size().  Adapt to buf_page_try_get() returning
      a const pointer.
      3d570330
  7. 28 Sep, 2007 1 commit
  8. 27 Sep, 2007 2 commits
    • vasil's avatar
      branches/zip: · e05b8e86
      vasil authored
      Move part of the code from lock_rec_print() in a separate function
      buf_page_try_get() because the same functionality is needed in
      INFORMATION SCHEMA code.
      
      Approved by:	Heikki
      e05b8e86
    • vasil's avatar
      branches/zip: · 511cab19
      vasil authored
      Add auxiliary function lock_rec_get_index() to retrieve the index on
      which the lock is.
      
      Approved by:	Heikki
      511cab19
  9. 05 Sep, 2007 1 commit
  10. 04 Sep, 2007 1 commit
  11. 03 Sep, 2007 1 commit
  12. 30 Aug, 2007 1 commit
  13. 29 Aug, 2007 1 commit
    • marko's avatar
      branches/zip: Remove some checks if an index or a table is a temporary one · 64dfb280
      marko authored
      created in fast index creation.
      
      dict_load_indexes(): Always complain if the first index is not clustered.
      
      lock_table_enqueue_waiting(): Always complain about lock waits in
      a dictionary operation.
      
      row_merge_rename_tables(): Add an assertion that dict_sys->mutex is
      being held.
      
      row_undo_mod_del_unmark_sec_and_undo_update(): Make the test about
      temporary indexes more readable.
      
      row_create_table_for_mysql(): Do not retry creating a temporary table
      in fast index creation.  Orphaned temporary tables will have to be dropped
      in crash recovery.
      64dfb280
  14. 01 Aug, 2007 2 commits
  15. 29 May, 2007 1 commit
  16. 18 May, 2007 1 commit
  17. 14 May, 2007 1 commit
  18. 04 Apr, 2007 1 commit
  19. 02 Apr, 2007 1 commit
  20. 01 Feb, 2007 1 commit
  21. 23 Jan, 2007 2 commits
  22. 22 Jan, 2007 4 commits
  23. 18 Jan, 2007 2 commits
    • marko's avatar
    • marko's avatar
      branches/zip: Remove the fil_space_get_zip_size() call from · fff329cd
      marko authored
      buf_page_get_gen().  This saves one mutex operation per block request.
      
      buf_page_get_gen(), various macros and functions: Add parameter zip_size.
      
      btr_node_ptr_get_child(): Add parameter index.
      
      fil_space_get_latch(): Add optional output parameter zip_size.
      
      fil_space_get_zip_size(): Return 0 for space id==0, because the
      system tablespace is never compressed.
      
      fsp_header_init(): Remove the parameter zip_size.
      
      ibuf_free_excess_pages(): Remove the parameter zip_size.
      
      trx_rseg_t, trx_undo_t: Add field zip_size.
      
      xdes_lst_get_next(): Remove, unused.
      fff329cd
  24. 10 Nov, 2006 1 commit
  25. 26 Oct, 2006 1 commit
  26. 24 Oct, 2006 2 commits
  27. 23 Oct, 2006 1 commit
    • marko's avatar
      branches/zip: Minor cleanup. · 009533b4
      marko authored
      page_set_max_trx_id(): Replace page_t* parameter with buf_block_t*,
      to avoid a buf_block_align() call.
      
      Replace some occurrences of page_get_page_no() with buf_block_get_page_no().
      
      page_cur_delete_rec(): Replace buf_block_align() with page_cur_get_block().
      009533b4
  28. 20 Oct, 2006 1 commit
    • marko's avatar
      branches/zip: Remove some more buf_block_align() calls. · 8562e752
      marko authored
      btr_cur_t: Move page_block to page_cur_t::block.
      
      page_cur_get_block(), page_cur_get_page_zip(): New functions.
      
      page_cur_position(): Add parameter block.
      
      Remove many page_zip parameters, now that there is page_cur_get_page_zip().
      Replace some page, page_zip parameters with block.
      
      Add some const qualifiers to function parameters and remove casts.
      
      PAGE_HEAP_NO_INFIMUM, PAGE_HEAP_NO_SUPREMUM, PAGE_HEAP_NO_USER_LOW:
      New constants.
      
      Replace some cursor code in low-level diagnostic functions with
      direct management of rec, because buf_block_t::buf_fix_count may be 0
      when the functions are called, and debug assertions would fail.
      8562e752
  29. 18 Oct, 2006 1 commit
    • marko's avatar
      branches/zip: Eliminate many buf_block_align() calls. · c659b59a
      marko authored
      Replace page_t* or page_zip_des_t* parameters in some functions with
      buf_block_t*.
      
      buf_frame_get_page_zip(): Disable unless #ifdef UNIV_DEBUG || UNIV_ZIP_DEBUG.
      
      btr_cur_t: Add buf_block_t* page_block.
      
      btr_pcur_get_block(), btr_cur_get_block(), btr_cur_get_page_zip():
      New functions.
      
      btr_cur_position(): Add the parameter block.
      c659b59a
  30. 13 Oct, 2006 1 commit
    • marko's avatar
      branches/zip: Remove some more buf_block_align() calls. · 70e765ae
      marko authored
      Replace buf_frame_modify_clock_inc() with buf_block_modify_clock_inc().
      Replace buf_frame_get_lock_hash_val() with buf_block_get_lock_hash_val().
      Replace buf_frame_get_lock_mutex() with buf_block_get_lock_mutex().
      
      page_create_zip(), page_create(), page_create_low(), btr_page_free(),
      btr_page_free_low(): Replace page_t with buf_block_t.
      70e765ae
  31. 12 Oct, 2006 2 commits
    • marko's avatar
      branches/zip: Reduce the number of buf_block_align() calls. · c755e887
      marko authored
      btr_block_get(): New function to return buf_block_t.
      
      btr_page_alloc(), buf_page_get_release_on_io(), buf_page_get_gen(),
      buf_page_create(), fseg_create(), fseg_create_general(): Return buf_block_t.
      
      buf_page_get_known_nowait(): Expect buf_block_t instead of buf_frame_t.
      
      buf_frame_get_newest_modification(): Replace with
      buf_block_get_newest_modification().
      
      buf_page_dbg_add_level(): Replace with buf_block_dbg_add_level().
      
      buf_block_get_zip_size(): New function.
      
      buf_block_get_page_zip(): Reintroduce.
      
      recv_recover_page(): Replace page, space, page_no with block.
      
      ibuf_bitmap_page_init(): Replace page, zip_size with block.
      
      ibuf_parse_bitmap_init(): Remove the parameter zip_size.
      
      btr_search_drop_page_hash_index(): Replace page with block.
      c755e887
    • marko's avatar
      branches/zip: Replace buf_frame_get_page_no() and buf_frame_get_space_id() · d61d296c
      marko authored
      with page_get_page_no() and page_get_space_id().  We want to avoid
      buf_block_align() calls, and the page_no and space_id are now stamped
      on the pages early on.
      d61d296c