1. 13 Oct, 2006 5 commits
  2. 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
  3. 10 Oct, 2006 2 commits
  4. 09 Oct, 2006 3 commits
  5. 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
  6. 04 Oct, 2006 1 commit
  7. 03 Oct, 2006 1 commit
  8. 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
  9. 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
  10. 28 Sep, 2006 2 commits
  11. 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
  12. 26 Sep, 2006 7 commits
  13. 25 Sep, 2006 1 commit
    • marko's avatar
      branches/zip: Minor cleanup in update related code. · 8e59e994
      marko authored
      btr_push_update_extern_fields(): Instead of iterating all upd_get_n_fields(),
      stop at the first match.
      
      row_search_index_entry(): Simplify the return statements.
      
      row_upd_sec_step(): Eliminate the local variable "err".
      
      row_upd_clust_step(): Add a UNIV_UNLIKELY hint.
      8e59e994
  14. 22 Sep, 2006 3 commits
  15. 21 Sep, 2006 2 commits
    • marko's avatar
      branches/zip: page_zip_decompress(): Split into · 81a283f8
      marko authored
      page_zip_decompress_node_ptrs(), page_zip_decompress_sec(), and
      page_zip_decompress_clust().  See also r856.
      81a283f8
    • marko's avatar
      branches/zip: ibuf_merge_or_delete_for_page(): Do not invoke · edb0f042
      marko authored
      fil_space_get_zip_size() unless zip_size is really needed
      (update_ibuf_bitmap || page).  This avoids an assertion failure
      when discarding ibuf entries for a deleted tablespace, for which
      fil_space_get_zip_size() would return ULINT_UNDEFINED.
      
      Also, reindent ibuf0ibuf.c.
      edb0f042