1. 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
  2. 30 Jun, 2006 2 commits
  3. 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
  4. 21 Jun, 2006 4 commits
  5. 20 Jun, 2006 3 commits
  6. 19 Jun, 2006 2 commits
  7. 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
  8. 14 Jun, 2006 4 commits
  9. 13 Jun, 2006 3 commits
  10. 12 Jun, 2006 1 commit
    • marko's avatar
      branches/zip: Add page_zip_validate() checks. · 8f6de3bb
      marko authored
      page_cur_delete_rec(): Do not call page_zip_validate() in the beginning,
      because btr_set_min_rec_mark() in btr_cur_pessimistic_delete() will
      cause a temporary mismatch.
      
      Document temporary mismatches caused by btr_set_min_rec_mark() calls
      and explain why they will not cause any problems.
      8f6de3bb
  11. 07 Jun, 2006 3 commits
    • marko's avatar
      branches/zip: Cleanup suggested by Osku. · 5837f751
      marko authored
      ut_is_2pow(): New function for testing if a number is zero or a power of two.
      Use this function instead of bitwise arithmetics or ut_2_power_up() where
      possible.
      5837f751
    • marko's avatar
      branches/zip: Replace all ut_ad(page_zip_validate()) assertions with · 8378c349
      marko authored
      ut_a(page_zip_validate()) that are enabled if UNIV_DEBUG or
      UNIV_ZIP_DEBUG is defined.
      8378c349
    • marko's avatar
      branches/zip: Remove remaining occurrences of XDES_DESCRIBED_PER_PAGE. · 49d25239
      marko authored
      mlog_parse_string(): Remove an off-by-one error in an assertion.
      
      fil_extend_space_to_desired_size(): fsp_header_get_free_limit(),
      fsp_try_extend_data_file(): Replace UNIV_PAGE_SIZE with the actual page size.
      
      PAGE_ZIP_MIN_SIZE: New constant, to be used in assertions.
      
      FSP_SEG_INODES_PER_PAGE: Add parameter zip_size.
      
      fsp_seg_inode_page_get_nth_inode(), fsp_seg_inode_page_find_used(),
      fsp_seg_inode_page_find_free(): Add parameter zip_size.
      49d25239
  12. 06 Jun, 2006 1 commit
    • marko's avatar
      branches/zip: Remove some more references to XDES_DESCRIBED_PER_PAGE. · 8b14f397
      marko authored
      ibuf_parse_bitmap_init(), ibuf_bitmap_page_init(),
      ibuf_bitmap_page_get_bits(), ibuf_bitmap_set_bits(),
      ibuf_bitmap_page_no_calc(), ibuf_bitmap_get_map_page(),
      xdes_calc_descriptor_page(), xdes_calc_descriptor_index(),
      fsp_descr_page(): Add parameter zip_size.
      8b14f397
  13. 05 Jun, 2006 1 commit
  14. 30 May, 2006 1 commit
    • marko's avatar
      branches/zip: Write compressed pages to disk. · 1dd4d568
      marko authored
      os_aio_simulated_handle(): Temporarily disable os_file_check_page_trailers(),
      which cannot be invoked on compressed pages.
      
      dict_table_add_system_columns(): New function, split from
      dict_table_add_to_cache().
      
      mlog_parse_index(): Add system columns to the dummy table and identify
      DB_TRX_ID and DB_ROLL_PTR in the dummy index.
      
      buf_LRU_get_free_block(): Note that page_zip->data should be allocated from
      an aligned memory pool.
      
      buf_flush_buffered_writes(): Write compressed pages to disk.
      
      buf_flush_post_to_doublewrite_buf(): Copy compressed pages to the
      doublewrite buffer.  Zero fill any excess space.
      
      buf_flush_init_for_writing(): Treat all compressed pages the same.
      
      buf_read_page_low(): Read compressed pages from disk.
      
      buf_page_io_complete(): Process compressed pages.
      
      trx_sys_doublewrite_init_or_restore_page(): Process compressed pages.
      
      mlog_write_initial_log_record_fast(): Enable a debug printout
      #ifdef UNIV_LOG_DEBUG.
      
      fsp_header_init(), fsp_fill_free_list(): Pass the compressed page size
      to buf_page_create().
      
      page_zip_compress_write_log(): Flatten the if-else if-else logic.
      
      page_zip_parse_write_blob_ptr(): Do not test page_zip if page==NULL.
      
      page_zip_parse_write_node_ptr(): Do not test page_zip if page==NULL.
      Invoke mlog_close() correctly.
      
      row_sel_store_row_id_to_prebuilt(): Add UNIV_UNLIKELY hint to an
      assertion-like test.
      1dd4d568
  15. 24 May, 2006 1 commit
  16. 22 May, 2006 2 commits
  17. 17 May, 2006 1 commit
    • marko's avatar
      branches/zip: Write the compressed page size to SYS_TABLES.TYPE and adjust · b15d26d6
      marko authored
      a few places accordingly.
      
      os_aio_simulated_handle(): Add TODO comments about skipping the write
      checks for compressed pages.
      
      dict_create_sys_tables_tuple(): Write the compressed page size to
      the TYPE column.
      
      open_or_create_data_files(): Simplify the fil_node_create() call.
      
      fil_node_create(): Do not touch space->zip_size.  It was already initialized
      by fil_space_create().
      
      fil_reset_too_high_lsns(), buf_flush_buffered_writes(): Add TODO comment
      about compressed pages.
      
      buf_flush_init_for_writing(): Handle pages of type FIL_PAGE_INODE,
      FIL_PAGE_IBUF_BITMAP, and FIL_PAGE_TYPE_FSP_HDR as uncompressed ones.
      b15d26d6
  18. 16 May, 2006 3 commits
    • marko's avatar
      branches/zip: Try to reorganize the page when compression fails. · 168fa020
      marko authored
      page_zip_compress_write_log(): Make static.
      
      page_zip_compress(): Add optional parameter mtr for redo logging.
      
      page_zip_reorganize(): Low-level counterpart of btr_page_reorganize().
      
      page_zip_copy(): Add debug assertions about mtr_memo_contains.
      
      page_cur_insert_rec_low(): Try page_zip_reorganize() and seek to the
      new position of insert_rec if it succeeds.
      
      page_copy_rec_list_end(), page_copy_rec_list_start():
      Try page_zip_reorganize().
      
      page_move_rec_list_end(): Remove bogus comment.
      168fa020
    • marko's avatar
    • marko's avatar
      branches/zip: Shorten the log record MLOG_ZIP_PAGE_COMPRESS. · 2c3b2247
      marko authored
      page_zip_copy(), page_zip_compress_write_log(): Add parameter 'index'.
      
      page_zip_parse_write_header(): Check for !page_zip only if page != NULL.
      
      page_zip_compress_write_log(), page_zip_parse_compress(): Omit some
      fields in the page header.  Omit the unused bytes between the modification
      log and the page trailer.
      
      parse_or_apply_log_rec_body(): Remove a bogus debug assertion.
      2c3b2247
  19. 15 May, 2006 1 commit
  20. 12 May, 2006 3 commits
  21. 11 May, 2006 1 commit
    • marko's avatar
      branches/zip: After merge fix, and cleanup. · 3b21e147
      marko authored
      btr_validate_level(): Add missing parameter to added buf_page_print() calls.
      
      btr_root_raise_and_insert(): Replace low-level code with page_zip_copy().
      
      page_zip_copy(): New function to copy the data payload of a compressed page,
      byte for byte.  The file page header and trailer are not copied, to avoid
      overwriting the fields FIL_PAGE_OFFSET, FIL_PAGE_PREV and FIL_PAGE_NEXT.
      3b21e147