1. 04 Sep, 2006 2 commits
  2. 31 Aug, 2006 2 commits
  3. 29 Aug, 2006 2 commits
  4. 22 Aug, 2006 1 commit
  5. 21 Aug, 2006 6 commits
    • marko's avatar
      branches/zip: Speed up the compression and decompression of leaf pages · 1180ce98
      marko authored
      of non-clustered indexes.  On these pages, only the bytes rec[-5..-1]
      will be omitted from the compressed data stream.  Save time by not looking
      for trx_id or externally stored columns.
      1180ce98
    • marko's avatar
      branches/zip: Assert that only leaf pages of clustered indexes may contain · fb8ce599
      marko authored
      externally stored columns.  Make some use of the fact in compression and
      decompression.
      
      rec_init_offsets(): Add ut_ad(dict_index_is_clust(index)) before flagging
      external columns.
      
      page_zip_get_trailer_len(): Assert ut_ad(!page_zip->n_blobs) unless
      dict_index_is_clust(index).
      
      page_zip_get_n_prev_extern(): Add ut_ad(dict_index_is_clust(index)).
      
      page_zip_compress(), page_zip_decompress_low(): Add dict_index_is_clust()
      assertions.  Allow completely external storage of columns.  Simplify
      the computation of "externs".
      
      page_zip_write_rec(): Store leaf node records of non-clustered indexes
      with one memcpy(), avoiding rec_offs_n_extern() and the for loop.
      
      page_zip_write_blob_ptr(): Add ut_ad(dict_index_is_clust(index)).
      Simplify the computation of "externs".
      
      page_zip_clear_rec(): Only attempt to zero out BLOB pointers when
      the record belongs to a leaf page of a clustered index.
      
      page_zip_dir_delete(): Take a fast path when the record is
      not on a leaf page of a clustered index.
      Simplify the computation of "externs".
      
      page_zip_copy(): Assert that n_blobs is zero on anything else than
      leaf pages of clustered indexes.
      fb8ce599
    • marko's avatar
      branches/zip: page_zip_fields_decode(): Set index->type to DICT_CLUSTERED · 2f08aceb
      marko authored
      if and only if the records on the page contain a trx_id column.
      (Dummy indexes of non-leaf pages will always show up as non-clustered.)
      2f08aceb
    • marko's avatar
    • marko's avatar
      branches/zip: page_zip_decompress(): Initialize page_zip->n_blobs before · 3a27b5c8
      marko authored
      referencing it, to prevent a ut_ad() assertion on page_zip_get_trailer_len()
      from failing.  Promote that assertion to ut_a().
      3a27b5c8
    • marko's avatar
      branches/zip: dtuple_convert_big_rec(): Do not attempt to shorten records · a9e75e63
      marko authored
      of secondary indexes.  (This is just an optimization; the logic in the
      search loop would never store such records externally.)
      a9e75e63
  6. 18 Aug, 2006 3 commits
  7. 17 Aug, 2006 3 commits
  8. 16 Aug, 2006 1 commit
    • marko's avatar
      branches/zip: Clean up debug code. · 41468be9
      marko authored
      struct mtr_struct: Omit unused field "state" unless #ifdef UNIV_DEBUG.
      
      buf_block_buf_fix_inc_debug(): Remove redundant __attribute__((unused))
      and #ifdef UNIV_SYNC_DEBUG.
      41468be9
  9. 15 Aug, 2006 5 commits
  10. 14 Aug, 2006 1 commit
  11. 11 Aug, 2006 1 commit
  12. 10 Aug, 2006 1 commit
  13. 09 Aug, 2006 2 commits
    • marko's avatar
      branches/zip: page_zip_decompress_low(): Clear the node_ptr during · 7255b3fd
      marko authored
      initial decompression, in case the record will be deleted and the
      space will be reused by a smaller record.
      
      page_zip_clear_rec_disable: Note the possibility of a page_zip_validate()
      failure when the space of a deleted record is reused by a smaller record.
      7255b3fd
    • marko's avatar
      branches/zip: Improve diagnostics. · e148206a
      marko authored
      buf_LRU_get_free_block(): When zip_size changes, initialize all fields
      of page_zip.  This avoids an assertion failure in page_create_zip() when
      a block with an originally larger zip_size is reallocated.
      
      fsp_get_space_header(): Assert that the stored space id matches.
      
      xdes_get_state(): Assert that the state is valid.
      e148206a
  14. 07 Aug, 2006 3 commits
  15. 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
  16. 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
  17. 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
  18. 01 Aug, 2006 2 commits