1. 07 Aug, 2006 1 commit
  2. 04 Aug, 2006 3 commits
    • marko's avatar
      branches/zip: dict_check_tablespaces_and_store_max_id(): · d97b448b
      marko authored
      Determine zip_size in kilobytes, pass on in bytes.
      d97b448b
    • marko's avatar
      branches/zip: Fix the decompression of deleted records containing externally · bbcdac2c
      marko authored
      stored columns.
      
      page_zip_decompress(): We indeed need to clear the BLOB pointers of deleted
      records twice.  This implies that we also need to invoke rec_get_offsets()
      twice for each record on a leaf page.  Add clarifying comments.
      
      page_zip_clear_rec(): Add the flag page_zip_clear_rec_disable for
      disabling the clearing of deleted records.
      bbcdac2c
    • marko's avatar
      branches/zip: Minor cleanup after r690. One test case still fails. · 8ebc2719
      marko authored
      page_zip_compress_write_log(): Do not invoke page_zip_validate(), since
      this is a static function and the callers already invoke page_zip_validate().
      
      page_zip_decompress_low(): Clear the page #ifdef UNIV_ZIP_DEBUG.
      Optimizations: Remove local variable "last".  Do not clear the BLOB
      pointer until the modification log has been applied.  (Since r690,
      it will be cleared after applying the modification log.)
      Avoid calling rec_get_offsets() a second time if there are no
      uncompressed columns to be restored.
      8ebc2719
  3. 03 Aug, 2006 1 commit
    • marko's avatar
      branches/zip: Zero out the BLOB pointers when decoding deleted records. · b152ee56
      marko authored
      Improve diagnostics.
      
      btr_cur_pessimistic_update(): Add page_zip_validate() assertion.
      
      page_zip_decompress(): Initialize all BLOB pointers.
      
      page_zip_clear_rec(): Add page_zip_header_cmp() assertion.
      
      page_delete_rec_list_end(): Add page_zip_validate() assertion.
      b152ee56
  4. 02 Aug, 2006 1 commit
    • marko's avatar
      branches/zip: Fix some crash recovery bugs. · b355bd0f
      marko authored
      dict_load_table(): Initialize table->flags with zip_size.
      
      mlog_parse_nbytes(), mlog_parse_string(): Add parameter page_zip and
      write the changes also to the compressed page if one is specified.
      Assert that these functions are not called on FIL_PAGE_INDEX pages.
      
      buf_page_io_complete(): Replace block->frame with frame where appropriate.
      
      recv_parse_or_apply_log_rec_body(): Add ut_a(!page_zip) where appropriate.
      
      page_parse_delete_rec_list(): Add parameter page_zip.
      b355bd0f
  5. 01 Aug, 2006 4 commits
    • marko's avatar
      branches/zip: buf_flush_init_for_writing(): Invoke page_zip_calc_checksum() · fbce3ef8
      marko authored
      on page_zip->data, so that the freshly written fields will be included.
      
      page_cur_delete_rec(): Add a page_zip_validate() assertion to the end.
      fbce3ef8
    • marko's avatar
      b6b5f3bb
    • marko's avatar
      branches/zip: Improve debugging. · 81f7884d
      marko authored
      page_zip_decompress(): Move the function body to page_zip_decompress_low(),
      add the parameter do_validate() to enable page_validate() assertion.  Wrap
      page_zip_decompress_low() with do_validate=TRUE.
      
      page_zip_validate(): Invoke page_zip_decompress_low() with do_validate=FALSE,
      as page_validate() may fail when the compressed page is being updated
      in-place.
      
      page_dir_slot_check(): Replace buf_frame_align() with ut_align_down()
      in order to avoid an assertion failure in page_zip_validate(), which
      will now invoke page_validate() via page_zip_decompress().
      81f7884d
    • marko's avatar
      branches/zip: Bug fixes. · a9792eeb
      marko authored
      buf_page_io_complete(): On FIL_PAGE_TYPE_ZBLOB (compressed BLOB pages),
      read the space_id from a different location.
      
      page_zip_compress(), page_zip_write_rec(), page_zip_write_blob_ptr():
      Replace page_simple_validate_new() with page_validate().
      
      page_zip_clear_rec(): When running out of log space, do not attempt to
      recompress the page, because the directory slots might be unbalanced and
      the page_validate() assertion in page_zip_compress() would fail.
      Instead, clear the BLOB pointers of the deleted record on the
      uncompressed page, so that page_zip_validate() will succeed.
      
      page_zip_validate(): Remove the comment about page_zip_clear_rec().
      A mismatch always indicates a serious inconsistency.
      a9792eeb
  6. 31 Jul, 2006 2 commits
  7. 28 Jul, 2006 1 commit
  8. 27 Jul, 2006 1 commit
  9. 07 Jul, 2006 1 commit
  10. 06 Jul, 2006 4 commits
  11. 04 Jul, 2006 3 commits
  12. 03 Jul, 2006 1 commit
    • marko's avatar
      branches/zip: page_cur_insert_rec_low(): Replace page_zip_alloc() · 2a8f49bf
      marko authored
      with page_zip_available() in order to avoid an extra page_zip_compress().
      
      page_zip_available(): Make the function public.
      
      page0zip.ic: Sort the inline function declarations in order to avoid
      forward references, which do not work on some compilers.
      2a8f49bf
  13. 30 Jun, 2006 2 commits
  14. 28 Jun, 2006 1 commit
    • marko's avatar
      branches/zip: Eliminate page corruption in btr_compress() when · 6b077aa8
      marko authored
      page_zip_reorganize() was invoked.
      
      btr_compress(): Obtain orig_pred and orig_succ after copying the records.
      Add a debug assertion about FIL_PAGE_PREV.
      
      page_copy_rec_list_end(), page_copy_rec_list_start(): Change the return
      type from ibool to rec_t.  Adjust the return value after invoking
      page_zip_reorganize().
      6b077aa8
  15. 21 Jun, 2006 4 commits
  16. 20 Jun, 2006 3 commits
  17. 19 Jun, 2006 2 commits
  18. 15 Jun, 2006 1 commit
    • marko's avatar
      branches/zip: Add parameter zip_size to fil_io(). · 97c78130
      marko authored
      fil_read(), fil_write(): Make these inlined functions in fil0fil.c.
      
      fil_write_lsn_and_arch_no_to_file(): Remove the parameter space_id and
      note that this function is to be called on the system tablespace, which
      is uncompressed.
      97c78130
  19. 14 Jun, 2006 4 commits