- 21 Aug, 2006 6 commits
-
-
marko authored
of non-clustered indexes. On these pages, only the bytes rec[-5..-1] will be omitted from the compressed data stream. Save time by not looking for trx_id or externally stored columns.
-
marko authored
externally stored columns. Make some use of the fact in compression and decompression. rec_init_offsets(): Add ut_ad(dict_index_is_clust(index)) before flagging external columns. page_zip_get_trailer_len(): Assert ut_ad(!page_zip->n_blobs) unless dict_index_is_clust(index). page_zip_get_n_prev_extern(): Add ut_ad(dict_index_is_clust(index)). page_zip_compress(), page_zip_decompress_low(): Add dict_index_is_clust() assertions. Allow completely external storage of columns. Simplify the computation of "externs". page_zip_write_rec(): Store leaf node records of non-clustered indexes with one memcpy(), avoiding rec_offs_n_extern() and the for loop. page_zip_write_blob_ptr(): Add ut_ad(dict_index_is_clust(index)). Simplify the computation of "externs". page_zip_clear_rec(): Only attempt to zero out BLOB pointers when the record belongs to a leaf page of a clustered index. page_zip_dir_delete(): Take a fast path when the record is not on a leaf page of a clustered index. Simplify the computation of "externs". page_zip_copy(): Assert that n_blobs is zero on anything else than leaf pages of clustered indexes.
-
marko authored
if and only if the records on the page contain a trx_id column. (Dummy indexes of non-leaf pages will always show up as non-clustered.)
-
marko authored
-
marko authored
referencing it, to prevent a ut_ad() assertion on page_zip_get_trailer_len() from failing. Promote that assertion to ut_a().
-
marko authored
of secondary indexes. (This is just an optimization; the logic in the search loop would never store such records externally.)
-
- 18 Aug, 2006 3 commits
-
-
marko authored
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.
-
marko authored
data0data.c: Add #include "page0zip.h" that was forgotten from r739. page_cur_insert_rec_low(): Remove a memory leak when preventing extra_size to grow.
-
marko authored
-
- 17 Aug, 2006 3 commits
-
-
marko authored
the record will fit on an empty compressed page. buf_block_alloc(), buf_block_free(), buf_frame_alloc(), buf_frame_free(): Make inlined.
-
marko authored
according to InnoDB formatting rules.
-
marko authored
record will fit or need external storage. btr_page_get_sure_split_rec(): Estimate the free space of an empty compressed page. page_zip_rec_needs_ext(): New function, to replace existing tests whether external storage is needed.
-
- 16 Aug, 2006 1 commit
-
-
marko authored
struct mtr_struct: Omit unused field "state" unless #ifdef UNIV_DEBUG. buf_block_buf_fix_inc_debug(): Remove redundant __attribute__((unused)) and #ifdef UNIV_SYNC_DEBUG.
-
- 15 Aug, 2006 5 commits
- 14 Aug, 2006 1 commit
-
-
marko authored
page0page.h: Add #include "page0zip.h" page_dir_slot_get_rec(): Avoid void* arithmetics. trx0undo.ic, trx0sys.ic: Remove unnecessary #include "page0zip.h" page_zip_write_header(): Move prototype from page0types.h to page0zip.h
-
- 11 Aug, 2006 1 commit
-
-
marko authored
-
- 10 Aug, 2006 1 commit
-
-
marko authored
"old_end" with "ret". Otherwise, a page_zip_reorganize() would make lock_move_rec_list_start() fail.
-
- 09 Aug, 2006 2 commits
-
-
marko authored
initial decompression, in case the record will be deleted and the space will be reused by a smaller record. page_zip_clear_rec_disable: Note the possibility of a page_zip_validate() failure when the space of a deleted record is reused by a smaller record.
-
marko authored
buf_LRU_get_free_block(): When zip_size changes, initialize all fields of page_zip. This avoids an assertion failure in page_create_zip() when a block with an originally larger zip_size is reallocated. fsp_get_space_header(): Assert that the stored space id matches. xdes_get_state(): Assert that the state is valid.
-
- 07 Aug, 2006 3 commits
-
-
marko authored
MLOG_COMP_REC_MIN_MARK is allowed on a compressed page.
-
marko authored
row_upd_sec_index_entry(): Remove redundant goto. Replace duplicated cleanup code with goto func_exit. mtr_memo_slot_release(): Eliminate the #else branch of #ifdef UNIV_DEBUG by reorganizing the code.
-
marko authored
if rw_latch == RW_NO_LATCH.
-
- 04 Aug, 2006 3 commits
-
-
marko authored
Determine zip_size in kilobytes, pass on in bytes.
-
marko authored
stored columns. page_zip_decompress(): We indeed need to clear the BLOB pointers of deleted records twice. This implies that we also need to invoke rec_get_offsets() twice for each record on a leaf page. Add clarifying comments. page_zip_clear_rec(): Add the flag page_zip_clear_rec_disable for disabling the clearing of deleted records.
-
marko authored
page_zip_compress_write_log(): Do not invoke page_zip_validate(), since this is a static function and the callers already invoke page_zip_validate(). page_zip_decompress_low(): Clear the page #ifdef UNIV_ZIP_DEBUG. Optimizations: Remove local variable "last". Do not clear the BLOB pointer until the modification log has been applied. (Since r690, it will be cleared after applying the modification log.) Avoid calling rec_get_offsets() a second time if there are no uncompressed columns to be restored.
-
- 03 Aug, 2006 1 commit
-
-
marko authored
Improve diagnostics. btr_cur_pessimistic_update(): Add page_zip_validate() assertion. page_zip_decompress(): Initialize all BLOB pointers. page_zip_clear_rec(): Add page_zip_header_cmp() assertion. page_delete_rec_list_end(): Add page_zip_validate() assertion.
-
- 02 Aug, 2006 1 commit
-
-
marko authored
dict_load_table(): Initialize table->flags with zip_size. mlog_parse_nbytes(), mlog_parse_string(): Add parameter page_zip and write the changes also to the compressed page if one is specified. Assert that these functions are not called on FIL_PAGE_INDEX pages. buf_page_io_complete(): Replace block->frame with frame where appropriate. recv_parse_or_apply_log_rec_body(): Add ut_a(!page_zip) where appropriate. page_parse_delete_rec_list(): Add parameter page_zip.
-
- 01 Aug, 2006 4 commits
-
-
marko authored
on page_zip->data, so that the freshly written fields will be included. page_cur_delete_rec(): Add a page_zip_validate() assertion to the end.
-
marko authored
-
marko authored
page_zip_decompress(): Move the function body to page_zip_decompress_low(), add the parameter do_validate() to enable page_validate() assertion. Wrap page_zip_decompress_low() with do_validate=TRUE. page_zip_validate(): Invoke page_zip_decompress_low() with do_validate=FALSE, as page_validate() may fail when the compressed page is being updated in-place. page_dir_slot_check(): Replace buf_frame_align() with ut_align_down() in order to avoid an assertion failure in page_zip_validate(), which will now invoke page_validate() via page_zip_decompress().
-
marko authored
buf_page_io_complete(): On FIL_PAGE_TYPE_ZBLOB (compressed BLOB pages), read the space_id from a different location. page_zip_compress(), page_zip_write_rec(), page_zip_write_blob_ptr(): Replace page_simple_validate_new() with page_validate(). page_zip_clear_rec(): When running out of log space, do not attempt to recompress the page, because the directory slots might be unbalanced and the page_validate() assertion in page_zip_compress() would fail. Instead, clear the BLOB pointers of the deleted record on the uncompressed page, so that page_zip_validate() will succeed. page_zip_validate(): Remove the comment about page_zip_clear_rec(). A mismatch always indicates a serious inconsistency.
-
- 31 Jul, 2006 2 commits
-
-
marko authored
buf_flush_init_for_writing(): On FIL_PAGE_TYPE_ZBLOB, write to page_zip->data instead of page. page_zip_write_rec(), page_zip_write_blob_ptr(), page_zip_write_node_ptr(): Add ut_ad(page_simple_validate_new()).
-
marko authored
btr_rec_copy_externally_stored_field(): Add parameter zip_size. Do not call buf_block_align(rec), because rec can also be in dynamically allocated memory. buf_block_align() can only be invoked on addresses inside the buffer pool. page_zip_clear_rec(): Improve formatting.
-
- 28 Jul, 2006 1 commit
-
-
marko authored
ut_malloc() to avoid breaking the latching order. page_rec_check(), page_dir_slot_get_rec(): Replace buf_frame_align() with ut_align_down() to avoid assertion failures in page_zip_validate().
-
- 27 Jul, 2006 1 commit
-
-
marko authored
btr_free_externally_stored_field(): Replace mlog_write_ulint() with mach_write_to_4() when page_zip != NULL. The operation is logged by page_zip_write_blob_ptr().
-
- 07 Jul, 2006 1 commit
-
-
marko authored
by running index_merge_ror_cpk on 1-kilobyte compressed pages. page_delete_rec_list_start(): Remove the page_zip_validate() assertion. btr_page_split_and_insert(): Add page_zip_validate() assertions about page and new_page after moving the records.
-