branches/zip: Note that TRX_ID and ROLL_PTR only exist on B-tree leaf pages
of clustered indexes. Previously, parts of the code assumed that these columns would exist on all leaf pages. Simplify the update-in-place of these columns. Add inline function dict_index_is_clust() to replace all tests index->type & DICT_CLUSTERED. Remove the redo log entry types MLOG_ZIP_WRITE_TRX_ID and MLOG_ZIP_WRITE_ROLL_PTR, because the modifications to these columns are covered by logical logging. Fuse page_zip_write_trx_id() and page_zip_write_roll_ptr() into page_zip_write_trx_id_and_roll_ptr(). page_zip_dir_add_slot(), page_zip_available(): Add flag "is_clustered", so that no space will be reserved for TRX_ID and ROLL_PTR on leaf pages of secondary indexes. page_zip_apply_log(): Flag an error when val==0 is encoded with two bytes. page_zip_write_rec(): Add debug assertions that there is enough space available for the entry before copying the data bytes of the record.
Showing
This diff is collapsed.
Please register or sign in to comment