1. 08 Feb, 2007 3 commits
  2. 07 Feb, 2007 1 commit
    • marko's avatar
      branches/zip: Do not decompress blocks in buf_page_init_for_read(), · 1f0b739f
      marko authored
      but in buf_page_get_gen().  Adjust comments.  This prevents
      unnecessary decompression in read-ahead when the compressed block
      exists in the buffer pool.
      
      If the block does not exist in the buffer pool, read-ahead will still
      allocate an uncompressed page and decompress the block.
      
      Move buf_block_init_low() and buf_zip_decompress() earlier in the file,
      because some compilers are unable to inline functions that are defined
      after the invocation.
      
      buf_page_get_gen(): Decompress the block if needed.
      
      buf_page_init_for_read(): Do not decompress.
      1f0b739f
  3. 05 Feb, 2007 4 commits
  4. 02 Feb, 2007 2 commits
  5. 01 Feb, 2007 2 commits
  6. 31 Jan, 2007 3 commits
  7. 30 Jan, 2007 1 commit
    • marko's avatar
      branches/zip: Avoid memory fragmentation when adding column definitions · 463aaf28
      marko authored
      to tables.
      
      dict_mem_table_add_col(): Add the parameter "heap" for temporary memory
      allocation.  Allow it and "name" to be NULL.  These parameters are NULL
      when creating dummy indexes.
      
      dict_add_col_name(): Remove calls to ut_malloc() and ut_free().
      
      dict_table_get_col_name(): Allow table->col_names to be NULL.
      
      dict_table_add_system_columns(), dict_table_add_to_cache():
      Add the parameter "heap".
      463aaf28
  8. 29 Jan, 2007 1 commit
    • marko's avatar
      branches/zip: Make zlib use InnoDB memory heaps when processing BLOBs. · 6e2c59d4
      marko authored
      page_zip_set_alloc(): New function, to configure zlib to use a memory heap.
      
      btr_store_big_rec_extern_fields(): Reduce memLevel, so that a heap of
      256 kilobytes will suffice.  Use page_zip_set_alloc().
      
      btr_copy_externally_stored_field_prefix_low(): Use page_zip_set_alloc().
      
      page_zip_compress(), page_zip_decompress(): Use page_zip_set_alloc().
      6e2c59d4
  9. 24 Jan, 2007 2 commits
  10. 23 Jan, 2007 4 commits
  11. 22 Jan, 2007 4 commits
  12. 19 Jan, 2007 1 commit
    • marko's avatar
      branches/zip: Fix a bug in the buddy allocator. · 9ef14edb
      marko authored
      buf_buddy_relocate_block(): New function, split from buf_buddy_relocate().
      Return FALSE when buf_page_can_relocate() returns FALSE.
      
      Fix some formatting in buf_buddy_free_low() and buf_page_init_for_read().
      9ef14edb
  13. 18 Jan, 2007 8 commits
  14. 17 Jan, 2007 1 commit
    • marko's avatar
      branches/zip: btr_copy_externally_stored_field_prefix_low(): · ccbb93c0
      marko authored
      Split the code to subroutines.
      
      btr_copy_blob_prefix(): New function: copy the prefix of the externally
      stored part of an uncompressed BLOB.
      
      btr_copy_zblob_prefix(): New function: copy the prefix of the externally
      stored part of a compressed BLOB.
      
      btr_blob_get_part_len(), btr_blob_get_next_page_no(): Add const qualifier
      to the parameter.
      ccbb93c0
  15. 16 Jan, 2007 3 commits
    • marko's avatar
      branches/zip: buf_flush_write_block_low(): When flushing a compressed page · d3d72895
      marko authored
      that also exists in uncompressed form in the buffer pool, pass the
      compressed frame to fil_io() instead of the uncompressed one when
      not using the doublewrite buffer.
      d3d72895
    • marko's avatar
      branches/zip: buf_flush_write_block_low(): Avoid recomputing the compressed · e77a82a0
      marko authored
      page checksum of compressed-only blocks.  Pass the compressed page frame
      to fil_io() when needed.
      
      page_zip_calc_checksum(): Skip also FIL_PAGE_LSN and FIL_PAGE_FILE_FLUSH_LSN.
      
      buf_flush_init_for_writing(): Expect page to be non-NULL.
      e77a82a0
    • marko's avatar
      branches/zip: Allow dirty compressed-only blocks to exist in the buffer pool · a85fd294
      marko authored
      and to be flushed to disk.
      
      buf_LRU_free_block(): Enable the freeing of uncompressed pages of
      compressed tablespaces.
      
      trx_doublewrite->buf_block_arr[]: Change the type from buf_block_t*
      to buf_page_t*.
      
      buf_flush_ready_for_flush(): Add debug assertion.
      
      buf_flush_buffered_writes(), buf_flush_try_page(): Support blocks of type
      BUF_BLOCK_ZIP_DIRTY.
      
      buf_flush_post_to_doublewrite_buf(), buf_flush_write_block_low():
      Change the type of the parameter from buf_block_t* to buf_page_t*.
      
      buf_flush_init_for_writing(): Allow page to be NULL if page_zip_ is non-NULL.
      a85fd294