1. 05 Feb, 2007 4 commits
  2. 02 Feb, 2007 2 commits
  3. 01 Feb, 2007 2 commits
  4. 31 Jan, 2007 3 commits
  5. 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
  6. 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
  7. 24 Jan, 2007 2 commits
  8. 23 Jan, 2007 4 commits
  9. 22 Jan, 2007 4 commits
  10. 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
  11. 18 Jan, 2007 8 commits
  12. 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
  13. 16 Jan, 2007 7 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
    • marko's avatar
      branches/zip: Note that b (the newly created control block for the · 94e49a71
      marko authored
      compressed page) is not protected by block_mutex.  Before releasing
      buf_pool->mutex, we can simply assign b->io_fix.  After reacquiring
      buf_pool->mutex, we also have to acquire buf_pool->zip_mutex.
      94e49a71
    • marko's avatar
      branches/zip: buf_LRU_free_block(): When preserving the compressed page · 9fe82e80
      marko authored
      of a block, do not release buf_pool->mutex between the time the old control
      block is removed from buf_pool->page_hash and the new control block is
      added to it.  Prevent operations on the compressed-only block while calling
      btr_search_drop_page_hash_index() or page_zip_calc_checksum().
      
      buf_LRU_invalidate_tablespace(): Revert the change done in r1223.
      buf_pool->zip_mutex will have been released by
      buf_LRU_block_remove_hashed_page() when it returns BUF_BLOCK_ZIP_FREE.
      9fe82e80
    • marko's avatar
      branches/zip: buf_flush_remove(): buf_page_get_mutex(bpage) must have been · c3599a3a
      marko authored
      acquired by the caller.
      
      buf_LRU_invalidate_tablespace(): Do not leak buf_pool->zip_mutex when
      rescanning the LRU list.
      c3599a3a
    • marko's avatar
      branches/zip: buf_LRU_free_block(): When freeing the uncompressed page · 91546e7d
      marko authored
      of a dirty block, relocate the control blocks on buf_pool->flush_list
      instead of calling buf_flush_insert_into_flush_list().
      91546e7d