1. 01 Mar, 2007 2 commits
  2. 28 Feb, 2007 3 commits
  3. 27 Feb, 2007 3 commits
  4. 26 Feb, 2007 1 commit
  5. 20 Feb, 2007 4 commits
  6. 19 Feb, 2007 3 commits
    • marko's avatar
      branches/zip: Enable the insert buffer on compressed tablespaces. · efd79c7a
      marko authored
      page_zip_max_ins_size(): New function.
      
      btr_cur_optimistic_insert(), btr_cur_optimistic_delete(),
      btr_page_split_and_insert(), btr_compress(): Do not update the
      ibuf free bits for non-leaf pages or pages belonging to a clustered index.
      The insert buffer only covers operations on leaf pages of secondary indexes.
      For pages covered by the insert buffer, limit the max_ins_size to
      page_zip_max_ins_size().
      
      buf_page_get_gen(): Merge the insert buffer after decompressing the page.
      
      buf_page_io_complete(): Relax the assertion about ibuf_count.  For
      compressed-only pages, the insert buffer merge takes place
      in buf_page_get_gen().
      
      ibuf_index_page_calc_free_bits(), ibuf_index_page_calc_free_from_bits(),
      ibuf_index_page_calc_free(), ibuf_update_free_bits_if_full(),
      ibuf_update_free_bits_low(), ibuf_update_free_bits_for_two_pages_low(),
      ibuf_set_free_bits_low(): Add the parameter zip_size.  Limit the maximum
      insert size to page_zip_max_ins_size().
      efd79c7a
    • marko's avatar
      branches/zip: page_zip_get_trailer_len(), page_zip_available(): · ea9a89da
      marko authored
      Replace the parameter "dict_index_t* index" with "ibool is_clust".
      
      dict_index_is_clust(): Add __attribute__((pure)).
      ea9a89da
    • marko's avatar
      branches/zip: buf_LRU_search_and_free_block(): Do not try to preserve · df5a9376
      marko authored
      compressed pages, because doing so would require a call to
      buf_buddy_alloc(), which in turn can invoke buf_LRU_get_free_block()
      and buf_LRU_search_and_free_block(), potentially infinite recursion.
      df5a9376
  7. 16 Feb, 2007 1 commit
  8. 13 Feb, 2007 3 commits
  9. 12 Feb, 2007 1 commit
  10. 08 Feb, 2007 4 commits
  11. 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
  12. 05 Feb, 2007 4 commits
  13. 02 Feb, 2007 2 commits
  14. 01 Feb, 2007 2 commits
  15. 31 Jan, 2007 3 commits
  16. 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
  17. 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
  18. 24 Jan, 2007 1 commit
    • marko's avatar
      branches/zip: Add UNIV_HASH_DEBUG for detecting multiple invocations · 73bb3415
      marko authored
      of HASH_DELETE().
      
      HASH_ASSERT_VALID(), HASH_INVALIDATE(): New macros, used in HASH_DELETE()
      and HASH_SEARCH().
      
      buf_page_init_low(): Add HASH_INVALIDATE(bpage, hash);
      
      buf_page_init(): Call buf_page_init_low() before HASH_INSERT(), so that
      bpage->hash will not be invalidated.
      73bb3415