1. 07 Aug, 2006 1 commit
  2. 04 Aug, 2006 3 commits
    • marko's avatar
      branches/zip: dict_check_tablespaces_and_store_max_id(): · 413f8ab0
      marko authored
      Determine zip_size in kilobytes, pass on in bytes.
      413f8ab0
    • marko's avatar
      branches/zip: Fix the decompression of deleted records containing externally · cc3f8b21
      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.
      cc3f8b21
    • marko's avatar
      branches/zip: Minor cleanup after r690. One test case still fails. · f5458ef6
      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.
      f5458ef6
  3. 03 Aug, 2006 1 commit
    • marko's avatar
      branches/zip: Zero out the BLOB pointers when decoding deleted records. · 766fb4d1
      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.
      766fb4d1
  4. 02 Aug, 2006 1 commit
    • marko's avatar
      branches/zip: Fix some crash recovery bugs. · 441c29e9
      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.
      441c29e9
  5. 01 Aug, 2006 4 commits
    • marko's avatar
      branches/zip: buf_flush_init_for_writing(): Invoke page_zip_calc_checksum() · e4077d56
      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.
      e4077d56
    • marko's avatar
      555c8af6
    • marko's avatar
      branches/zip: Improve debugging. · f9755e80
      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().
      f9755e80
    • marko's avatar
      branches/zip: Bug fixes. · 8f7bbe15
      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.
      8f7bbe15
  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() · 51fb42bf
      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.
      51fb42bf
  13. 30 Jun, 2006 2 commits
  14. 28 Jun, 2006 1 commit
    • marko's avatar
      branches/zip: Eliminate page corruption in btr_compress() when · 99726042
      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().
      99726042
  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(). · be7add3b
      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.
      be7add3b
  19. 14 Jun, 2006 4 commits