• 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
page0zip.c 68.4 KB