1. 20 Oct, 2006 1 commit
  2. 19 Oct, 2006 4 commits
    • marko's avatar
      branches/zip: Remove many fil_space_get_zip_size() calls. · cdb096b6
      marko authored
      ibuf_page(), ibuf_page_low(), ibuf_free_excess_pages(), ibuf_insert(),
      buf_read_page(), buf_read_ahead_linear(), buf_read_recv_pages():
      Add parameter zip_size.
      cdb096b6
    • marko's avatar
      branches/zip: Remove some more buf_block_align() calls. · 24d0bbf8
      marko authored
      btr_search_build_page_hash_index(), fsp_parse_init_file_page(),
      ibuf_parse_bitmap_init(): Replace page_t* with buf_block_t*.
      
      buf_read_ibuf_merge_pages(): Add const qualifiers.  Retrieve zip_size.
      
      ibuf_merge_or_delete_for_page(): Replace page_t* with buf_block_t*.
      Add parameter zip_size.
      24d0bbf8
    • marko's avatar
      branches/zip: Remove some more casts. · 8919884f
      marko authored
      dict_index_get_nth_col_pos(), dict_index_get_sys_col_pos(),
      dict_index_get_n_fields(), fil_page_get_type():
      Add const qualifier to parameter.
      
      dict_index_get_nth_field(): Implement as a macro unless #ifdef UNIV_DEBUG.
      8919884f
    • marko's avatar
      branches/zip: Remove the casts introduced in r920 and r925. Replace the · fbe4fe60
      marko authored
      accessors returning pointers with macros that preserve const qualifiers.
      In UNIV_DEBUG builds, retain the accessors and cast away constness there.
      
      dfield_get_type(), dfield_get_data(), dtuple_get_nth_field(),
      dict_table_get_nth_col(), dict_table_get_sys_col(): Implement as macro
      unless #ifdef UNIV_DEBUG.
      
      rec_get_nth_field(): Replace with rec_get_nth_field_offs() that does not
      do pointer arithmetics.  Implement rec_get_nth_field() as a macro.
      fbe4fe60
  3. 18 Oct, 2006 3 commits
    • marko's avatar
      branches/zip: ha_create(): Remove parameter in_btr_search, which was · f8b30472
      marko authored
      passed as TRUE.
      
      Enclose hash_table_t::adaptive and buf_block_t::n_pointers in
      #ifdef UNIV_DEBUG.
      
      btr_search_drop_page_hash_index(): Enclose the corruption check
      (which depends on buf_block_t::n_pointers) in #ifdef UNIV_DEBUG.
      f8b30472
    • marko's avatar
      branches/zip: btr_cur_t: replace left_page with left_block, to avoid · 120e544d
      marko authored
      calling buf_block_align() in btr_pcur_move_backward_from_page().
      Also, enclose some assertions about page_is_comp() in #ifdef UNIV_BTR_DEBUG.
      120e544d
    • marko's avatar
      branches/zip: Eliminate many buf_block_align() calls. · d583b180
      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.
      d583b180
  4. 17 Oct, 2006 2 commits
  5. 16 Oct, 2006 1 commit
  6. 13 Oct, 2006 7 commits
  7. 12 Oct, 2006 6 commits
    • marko's avatar
      branches/zip: Eliminate some more buf_block_align() calls. · fcaa035f
      marko authored
      mlog_write_initial_log_record_fast(): Remove the buf_block_align() call
      unless #ifdef UNIV_DEBUG.
      
      btr_cur_update_in_place(): Replace buf_frame_get_page_zip() with
      buf_block_get_page_zip().
      
      btr_page_create(), btr_page_empty(): Replace the parameter page with block.
      
      btr_attach_half_pages(): Use btr_block_get() instead of btr_page_get().
      Remove buf_block_align() calls.
      
      btr_cur_latch_leaves(): Remove duplicated code.  Use btr_block_get()
      instead of btr_page_get().  Remove buf_block_align() calls.
      fcaa035f
    • marko's avatar
      branches/zip: mem_heap_create_block(): Correct an error introduced in r909: · bbcef45a
      marko authored
      When allocating a block from heap->free_block, set buf_block.
      bbcef45a
    • marko's avatar
      branches/zip: Replace buf_frame_alloc() and buf_frame_free() · 06bb7e6e
      marko authored
      with buf_block_alloc() and buf_block_free(), in order to
      avoid buf_block_align() calls.
      06bb7e6e
    • marko's avatar
      branches/zip: Reduce the number of buf_block_align() calls. · 5669dc3d
      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.
      5669dc3d
    • marko's avatar
      branches/zip: Replace buf_frame_get_page_no() and buf_frame_get_space_id() · 736a8ffb
      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.
      736a8ffb
    • marko's avatar
      branches/zip: Move the assertion about holding dict_sys->mutex from · 1003d199
      marko authored
      dict_table_add_system_columns() to dict_table_add_to_cache().
      1003d199
  8. 10 Oct, 2006 2 commits
  9. 09 Oct, 2006 3 commits
  10. 06 Oct, 2006 1 commit
    • marko's avatar
      branches/zip: Remove compilation errors with -DUNIV_HOTBACKUP. · 679d6e82
      marko authored
      dict_load_foreigns(): Enclose in #ifndef UNIV_HOTBACKUP.
      
      fil_extend_tablespaces_to_stored_len(): Pass zip_size to fil_read().
      
      buf_page_init_for_backup_restore(): Add parameter zip_size.
      Enclose the declaration in buf0buf.h in #ifdef UNIV_HOTBACKUP.
      
      recv_apply_log_recs_for_backup(): Replace the local variable "page"
      with the local variable "block".  Add local variable zip_size.
      679d6e82
  11. 04 Oct, 2006 1 commit
  12. 03 Oct, 2006 1 commit
  13. 02 Oct, 2006 1 commit
    • marko's avatar
      branches/zip: Fix all bugs detected by mysql-test-run. The exactly same set · 66ae0ded
      marko authored
      of tests are failing with trunk -r869, with this revision using uncompressed
      storage, and with this revision hard-wired to use 1-kilobyte compressed pages
      and innodb_file_per_table.
      
      btr_push_update_extern_fields(): Do not call ut_ulint_sort() if n_pushed == 0.
      
      btr_copy_externally_stored_field_prefix_low(): Replace ut_max() with ut_min().
      66ae0ded
  14. 29 Sep, 2006 4 commits
    • marko's avatar
      branches/zip: Merge revisions 861:869 from trunk. · a7540940
      marko authored
      a7540940
    • marko's avatar
      branches/zip: Remove os_file_check_page_trailers(). It was used in · b8503c0e
      marko authored
      os_aio_simulated_handle() before and after initiating a write.  We
      cannot easily pass the compressed page sizes to this function.  The
      check could only be performed on uncompressed pages.
      b8503c0e
    • marko's avatar
      a003cc70
    • marko's avatar
      branches/zip: dtuple_convert_big_rec(): Do not store anything locally · 174bd7b7
      marko authored
      of externally stored columns, and fix bugs introduced in r873.  (Bug #22496)
      
      btr_page_get_sure_split_rec(), btr_page_insert_fits(),
      rec_get_converted_size(), rec_convert_dtuple_to_rec(),
      rec_convert_dtuple_to_rec_old(), rec_convert_dtuple_to_rec_new():
      Add parameters ext and n_ext.  Flag external fields during the
      conversion.
      
      rec_set_field_extern_bits(), rec_set_field_extern_bits_new(),
      rec_offs_set_nth_extern(), rec_set_nth_field_extern_bit_old():
      Remove.  The bits are set by rec_convert_dtuple_to_rec().
      
      page_cur_insert_rec_low(): Remove the parameters ext and n_ext.
      
      btr_cur_add_ext(): New utility function for updating and sorting ext[].
      Low-level functions now expect the array to be in ascending order
      for performance reasons.  Used in btr_cur_optimistic_insert(),
      btr_cur_pessimistic_insert(), and btr_cur_pessimistic_update().
      
      btr_cur_optimistic_insert(): Remove some defensive code, because we cannot
      compute the added parameters of rec_get_converted_size().
      
      btr_push_update_extern_fields(): Sort the array.  Require the array to
      be twice the maximum usage, so that ut_ulint_sort() can be used.
      
      dtuple_convert_big_rec(): Allocate new space for the BLOB pointer,
      to avoid overwriting prefix indexes to the same column.  Adapt
      dtuple_convert_back_big_rec().
      
      row_build_index_entry(): Fetch the columns also for prefix indexes of
      the clustered index.
      
      page_zip_apply_log(), page_zip_decompress_clust(): Allow externally
      stored fields to lack a locally stored part.
      174bd7b7
  15. 28 Sep, 2006 2 commits
  16. 27 Sep, 2006 1 commit
    • marko's avatar
      branches/zip: Replace FIL_PAGE_ZBLOB_SPACE_ID and FIL_PAGE_ZBLOB_DATA · 71e8ea62
      marko authored
      with FIL_PAGE_ARCH_LOG_NO_OR_SPACE_ID and FIL_PAGE_DATA.  The doublewrite
      buffer needs to read the space_id in order to determine the type of the page.
      Because FIL_PAGE_TYPE could contain garbage in MySQL/InnoDB 5.0 and earlier
      versions, we cannot trust fil_page_get_type().  Instead, we have to always
      store the space_id at the same location.  This modification wastes 12 bytes
      per compressed BLOB page (1.2% on 1-kilobyte pages).
      71e8ea62