1
0
mirror of https://github.com/MariaDB/server.git synced 2025-12-24 11:21:21 +03:00

branches/zip: page_cur_insert_rec_low(): Replace page_zip_dir_rewrite()

with page_zip_dir_insert().  Pass page_zip to rec_set_n_owned_new()
and page_dir_slot_set_n_owned().

page_zip_dir_insert(): New function.  Shift the dense page directory and
write the inserted record there.
This commit is contained in:
marko
2006-08-18 19:30:55 +00:00
parent 244c9715f0
commit 7e1076c716
4 changed files with 98 additions and 36 deletions

View File

@@ -223,16 +223,6 @@ page_zip_write_trx_id_and_roll_ptr(
dulint roll_ptr)/* in: roll_ptr */
__attribute__((nonnull));
/**************************************************************************
Populate the dense page directory on the compressed page
from the sparse directory on the uncompressed row_format=compact page. */
void
page_zip_dir_rewrite(
/*=================*/
page_zip_des_t* page_zip,/* out: dense directory on compressed page */
const page_t* page) /* in: uncompressed page */
__attribute__((nonnull));
/**************************************************************************
Write the "deleted" flag of a record on a compressed page. The flag must
already have been written on the uncompressed page. */
@@ -257,6 +247,20 @@ page_zip_rec_set_owned(
ulint flag) /* in: the owned flag (nonzero=TRUE) */
__attribute__((nonnull));
/**************************************************************************
Insert a record to the dense page directory. */
void
page_zip_dir_insert(
/*================*/
page_zip_des_t* page_zip,/* in/out: compressed page */
const byte* prev_rec,/* in: record after which to insert */
const byte* free_rec,/* in: record from which rec was
allocated, or NULL */
byte* rec, /* in: record to insert */
dict_index_t* index, /* in: index of rec */
const ulint* offsets);/* in: rec_get_offsets(rec) */
/**************************************************************************
Shift the dense page directory and the array of BLOB pointers
when a record is deleted. */