An error occurred fetching the project authors.
  1. 11 May, 2006 1 commit
    • marko's avatar
      branches/zip: Minor cleanup. · e69d2f57
      marko authored
      btr_cur_compress_if_useful(): Replace if () return(); return() with return.
      
      page_rec_get_next_low(): New function.
      
      page_rec_get_prev(): Invoke page_is_comp() outside the loop.
      Replace page_rec_get_next() with loop-specific instances of
      page_rec_get_next_low().
      
      page_copy_rec_list_end(): Add some debug assertions.
      e69d2f57
  2. 10 Apr, 2006 1 commit
    • marko's avatar
      branches/zip: Replace the redo log entry types · 9b620097
      marko authored
      MLOG_ZIP_COMPRESS and MLOG_ZIP_DECOMPRESS with higher-level entry types.
      Implement the logging and crash recovery of MLOG_ZIP_PAGE_CREATE.
      
      page_create_zip(): New function for creating a compressed B-tree page.
      
      page_parse_create_zip(): New function for applying a MLOG_ZIP_PAGE_CREATE
      redo log record.
      
      btr_page_create(): Remove the prototype.  Add parameters page_zip, level,
      prev, and next.
      
      btr0btr.c: Eliminate page_zip_compress() calls where possible.
      
      page_zip_alloc(), page_zip_compress(), page_zip_decompress(),
      page_zip_clear_rec(): Remove parameter mtr.
      
      recv_parse_or_apply_log_rec_body(): Handle MLOG_ZIP_PAGE_CREATE.
      Add TODO comments for the other added redo log entry types.
      9b620097
  3. 16 Mar, 2006 1 commit
    • marko's avatar
      branches/zip: Improve the clearing of deleted records. Try to support · f137c038
      marko authored
      operations on BLOB columns.  There are some bugs in the code, because
      test-insert and a few other tests fail.
      
      page_mem_free(): Add parameter index.  Decrement PAGE_N_RECS here.
      Move some operations to page_zip_dir_delete().
      
      page_zip_clear_rec(): Make this a static function.
      
      page_zip_dir_delete(): Add parameters index and offsets.
      Decrement PAGE_N_RECS and clear info_bits and n_owned.
      
      page_zip_get_n_prev_extern(): Correct the synopsis and the algorithm.
      Add parameter page_zip.  Search the records in heap_no order instead
      of collation order.
      
      page_zip_compress(), page_zip_decompress(): Only copy BLOB pointers
      and increment n_blobs for records that have not been deleted.
      
      page_zip_clear_rec(): Clear trx_id and roll_ptr on the compressed page.
      
      page_zip_dir_delete(): Decrement PAGE_N_RECS.  Shift the array of
      BLOB pointers.  Call page_zip_clear_rec().
      
      page_zip_dir_add_slot(): Shift the array of BLOB pointers to make
      space of roll_ptr and trx_id.
      
      page_cur_delete_rec(): Do not decrement PAGE_N_RECS or call
      page_zip_clear_rec(), as page_mem_free() already does it.
      f137c038
  4. 10 Mar, 2006 2 commits
  5. 08 Mar, 2006 1 commit
    • marko's avatar
      branches/zip: Fix various bugs. · 4ea9fe18
      marko authored
      btr_root_raise_and_insert(): Because btr_page_set_level() must not
      change level from non-zero to zero on compressed pages, invoke
      btr_page_set_level() with page_zip==NULL and compress the entire
      root page after creating it from the scratch.
      
      btr_attach_half_pages(): Simplify the computation of lower_page_zip
      and upper_page_zip.  Invoke btr_node_ptr_set_child_page_no() with
      the correct page_zip.
      
      page0page.h: Add __attribute__((const)) to functions testing for
      infimum or supremum.
      
      page_zip_dir_delete(): Note that the third parameter may be NULL.
      Correct offset errors.
      
      page_zip_available(): Use n_heap instead of n_recs.
      
      page_zip_dir_find(), page_zip_dir_find_free(): Fix off-by-one error.
      
      page_zip_fields_encode(), page_zip_fields_decode(): Encode and decode
      index->n_nullable for non-leaf pages.
      
      page_zip_apply_log(): Write REC_NEW_HEAP_NO before calling
      rec_offs_make_valid().
      
      page_zip_write_node_ptr(): Correct off-by-one error.
      
      page_cur_search_with_match(): Make use of page_is_leaf().
      
      page_dir_add_slots(): Replaced with page_dir_add_slot().  Use memmove().
      4ea9fe18
  6. 27 Feb, 2006 1 commit
  7. 23 Feb, 2006 2 commits
    • marko's avatar
      branches/zip: Merge revisions 200:236 from trunk. · 747c8fad
      marko authored
      747c8fad
    • marko's avatar
      branches/zip: When allocating records from the free list, · 83cb4c49
      marko authored
      do not allow extra_size to decrease on compressed pages.
      
      Split page_mem_alloc() to page_mem_alloc_free() and page_mem_alloc_heap().
      
      page_cur_insert_rec_low(): Remove parameter "tuple".  Implement some of the
      logic from page_mem_alloc().
      
      page_cur_tuple_insert(): Convert the tuple to a record and calculate offsets.
      
      page_zip_validate(): Assert that the page is in compact format.
      83cb4c49
  8. 10 Feb, 2006 1 commit
    • marko's avatar
      branches/zip: Prepare for in-place updates of B-tree node pointers, · 12050c5c
      marko authored
      BLOB pointers, trx_id, and roll_ptr.
      
      btr_empty(), btr_create(), page_create(): Add parameter "index", as some
      index information will be encoded on the compressed page.
      
      Define REC_NODE_PTR_SIZE as 4.
      
      Allow btr_page_reorganize() and btr_page_reorganize_low() to fail.
      
      Define the error code DB_ZIP_OVERFLOW.
      
      Make row_ins_index_entry_low() static.
      
      page0zip: Encode the index, log reorganized records, and store uncompressed
      fields separately from the compressed data stream.
      12050c5c
  9. 24 Nov, 2005 1 commit
  10. 14 Nov, 2005 1 commit
    • marko's avatar
      branches/zip: Minor improvements. · b0b49363
      marko authored
      page_dir_slot_set_n_owned(): Check page_zip_available().
      page_dir_add_slots(): Add parameter page_zip.
      btr_attach_half_pages(): Add parameter page_zip.
      btr_node_ptr_set_child_page_no(): Add parameter page_zip.
      Make comments about page_zip modification log usage more accurate.
      b0b49363
  11. 11 Nov, 2005 2 commits
    • marko's avatar
      branches/zip: Minor improvements. · d8f576e7
      marko authored
      page_set_max_trx_id(), page_update_max_trx_id(): Add parameter page_zip.
      
      Check that page_zip_decompress() is never called after modifying the
      header or trailer of the compressed page, i.e., that page_zip_decompress()
      will restore the uncompressed page as it was before the failed operation.
      d8f576e7
    • marko's avatar
      branches/zip: Restore left b-tree splits. · 83539afa
      marko authored
      page_move_rec_list_start(): Restored.  Reorganize old page if compressed.
      btr_page_split_and_insert(): Do left page splits.
      83539afa
  12. 09 Nov, 2005 1 commit
    • marko's avatar
      branches/zip: Bug fixes and improvements. · 61f21148
      marko authored
      page_header_reset_last_insert(): Add page_zip parameter.
      rec_get_next_ptr(): Return a pointer to the same page, or NULL.
      page_dir_delete_slot(): Fix off-by-one errors.
      61f21148
  13. 04 Nov, 2005 1 commit
    • marko's avatar
      branches/zip: · dbfea3e9
      marko authored
      Add page_zip parameter to page_dir_slot_set_rec().
      Improve the documentation of the page_zip parameters in page0page.
      Add function page_trailer_get_len().
      dbfea3e9
  14. 27 Oct, 2005 2 commits