An error occurred fetching the project authors.
  1. 11 Apr, 2006 2 commits
    • marko's avatar
      branches/zip: Add the redo log type MLOG_ZIP_PAGE_COMPRESS. Remove · f119108f
      marko authored
      MLOG_ZIP_LIST_START_COPY and MLOG_ZIP_LIST_END_COPY.
      
      btr_compress(): Simplify a debug assertion.
      
      page_zip_compress_write_log(), page_zip_parse_compress(): New functions.
      
      page_cur_parse_insert_rec(): Simplify the code.
      
      page_parse_create_zip(): Removed.
      
      page_create_zip(), page_copy_rec_list_end(),
      page_copy_rec_list_start(): Invoke page_zip_compress_write_log().
      f119108f
    • marko's avatar
      branches/zip: Minor cleanup. Remove MLOG_ZIP_ROOT_RAISE. · c65c50ae
      marko authored
      btr_page_create(): Remove parameters "prev" and "next".  The pointers
      to adjacent B-tree pages will be set in the caller before any user
      records are inserted.
      
      Remove the redo log entry type MLOG_ZIP_ROOT_RAISE, since
      btr_root_raise_and_insert() will not defer modifications to
      the compressed page.
      
      btr_attach_half_pages(): Add parameter new_page_zip.
      c65c50ae
  2. 10 Apr, 2006 1 commit
    • marko's avatar
      branches/zip: Replace the redo log entry types · 9b620097
      marko authored
      MLOG_ZIP_COMPRESS and MLOG_ZIP_DECOMPRESS with higher-level entry types.
      Implement the logging and crash recovery of MLOG_ZIP_PAGE_CREATE.
      
      page_create_zip(): New function for creating a compressed B-tree page.
      
      page_parse_create_zip(): New function for applying a MLOG_ZIP_PAGE_CREATE
      redo log record.
      
      btr_page_create(): Remove the prototype.  Add parameters page_zip, level,
      prev, and next.
      
      btr0btr.c: Eliminate page_zip_compress() calls where possible.
      
      page_zip_alloc(), page_zip_compress(), page_zip_decompress(),
      page_zip_clear_rec(): Remove parameter mtr.
      
      recv_parse_or_apply_log_rec_body(): Handle MLOG_ZIP_PAGE_CREATE.
      Add TODO comments for the other added redo log entry types.
      9b620097
  3. 07 Apr, 2006 3 commits
    • marko's avatar
      branches/zip: Implement crash recovery of writing BLOB pointers. · 0906cd0c
      marko authored
      page_zip_parse_write_blob_ptr(): New function for applying the redo log
      record MLOG_ZIP_WRITE_BLOB_PTR.
      
      page_zip_write_blob_ptr(): Write the necessary information to the redo log.
      
      page0zip.c: Tighten the assertions to ensure that blob_ptr < page_zip->n_blobs.
      
      page_zip_write_node_ptr(): Use memcpy() instead of mach_write_to_4().
      0906cd0c
    • marko's avatar
      branches/zip: Implement crash recovery of writing to the page header. · 44b22ebe
      marko authored
      page_zip_parse_write_header(): New function for applying the redo log of
      MLOG_ZIP_WRITE_HEADER.
      
      page_zip_parse_write_node_ptr(): Mark the log corrupted if !page_zip.
      44b22ebe
    • marko's avatar
      branches/zip: Implement the crash recovery of MLOG_ZIP_WRITE_NODE_PTR. · 52b7eb50
      marko authored
      page_zip_parse_write_node_ptr(): New function to apply a redo log of
      MLOG_ZIP_WRITE_NODE_PTR.
      
      page_zip_write_node_ptr(): Write all needed information to the redo log.
      
      page_zip_write_header_log(): Write all necessary information to the redo log.
      52b7eb50
  4. 09 Mar, 2006 1 commit
    • marko's avatar
      branches/zip: Note that TRX_ID and ROLL_PTR only exist on B-tree leaf pages · e8e9fb28
      marko authored
      of clustered indexes.  Previously, parts of the code assumed that these
      columns would exist on all leaf pages.  Simplify the update-in-place of
      these columns.
      
      Add inline function dict_index_is_clust() to replace all tests
      index->type & DICT_CLUSTERED.
      
      Remove the redo log entry types MLOG_ZIP_WRITE_TRX_ID and
      MLOG_ZIP_WRITE_ROLL_PTR, because the modifications to these columns
      are covered by logical logging.
      
      Fuse page_zip_write_trx_id() and page_zip_write_roll_ptr() into
      page_zip_write_trx_id_and_roll_ptr().
      
      page_zip_dir_add_slot(), page_zip_available(): Add flag "is_clustered",
      so that no space will be reserved for TRX_ID and ROLL_PTR on leaf pages
      of secondary indexes.
      
      page_zip_apply_log(): Flag an error when val==0 is encoded with two bytes.
      
      page_zip_write_rec(): Add debug assertions that there is enough space
      available for the entry before copying the data bytes of the record.
      e8e9fb28
  5. 02 Mar, 2006 1 commit
    • marko's avatar
      branches/zip: Fix some bugs in incremental compression. · 7f2d91cb
      marko authored
      btr_create(): page_zip_compress() returns FALSE on failure.
      
      page_zip_write_header(): Write to page_zip->data[] instead of page_zip[].
      
      buf_flush_init_for_writing(): Add parameter page_zip and set the fields
      also in the header of the compressed page.
      
      btr_cur_search_to_nth_level(): Add ut_ad() on page_zip_validate().
      7f2d91cb
  6. 27 Feb, 2006 1 commit
  7. 23 Feb, 2006 1 commit
  8. 22 Feb, 2006 1 commit
    • marko's avatar
      branches/zip: Try to synchronize the updates of uncompressed and · 47da8abc
      marko authored
      compressed pages.
      
      btr_root_raise_and_insert(): Distinguish root_page_zip and new_page_zip.
      
      btr_cur_set_ownership_of_extern_field(): Do not log the write on the
      uncompressed page if it will be logged for page_zip.
      
      lock_rec_insert_check_and_lock(), lock_sec_rec_modify_check_and_lock():
      Update the max_trx_id field also on the compressed page.
      
      mlog_write_ulint(): Add UNIV_UNLIKELY hints.  Remove trailing white space.
      
      mlog_log_string(): Remove trailing white space.
      
      rec_set_field_extern_bits(): Remove parameter mtr, as the write will either
      occur in the heap, or it will be logged at a higher level.
      
      recv_parse_or_apply_log_rec_body(),
      page_zip_write_header(): Add log record type MLOG_ZIP_WRITE_HEADER.
      
      page_header_set_field(): Pass mtr=NULL to page_zip_write_header().
      
      page_header_reset_last_insert(): Pass mtr to page_zip_write_header().
      
      btr_page_set_index_id(), btr_page_set_level(),
      btr_page_set_next(), btr_page_set_prev(): Pass mtr to page_zip_write_header().
      
      row_upd_rec_sys_fields(): Pass mtr=NULL to page_zip_write_trx_id() and
      page_zip_write_roll_ptr(), since the write will be logged at a higher level.
      
      page_zip_write_header(): Add parameter mtr.
      page_zip_write_header_log(): New function.
      
      Remove rec_set_nth_field_extern_bit().
      Make rec_set_nth_field_extern_bit_old() static.
      Rename rec_set_nth_field_extern_bit_new()
      to rec_set_field_extern_bits_new() and make it static.
      
      row_ins_index_entry_low(): Remove bogus TODO comment.
      47da8abc
  9. 17 Feb, 2006 1 commit
  10. 10 Feb, 2006 1 commit
    • marko's avatar
      branches/zip: Prepare for in-place updates of B-tree node pointers, · 12050c5c
      marko authored
      BLOB pointers, trx_id, and roll_ptr.
      
      btr_empty(), btr_create(), page_create(): Add parameter "index", as some
      index information will be encoded on the compressed page.
      
      Define REC_NODE_PTR_SIZE as 4.
      
      Allow btr_page_reorganize() and btr_page_reorganize_low() to fail.
      
      Define the error code DB_ZIP_OVERFLOW.
      
      Make row_ins_index_entry_low() static.
      
      page0zip: Encode the index, log reorganized records, and store uncompressed
      fields separately from the compressed data stream.
      12050c5c
  11. 27 Oct, 2005 2 commits