- 08 May, 2006 3 commits
- 04 May, 2006 1 commit
-
-
marko authored
Introduce FIL_PAGE_ZBLOB_DATA as a synonym for FIL_PAGE_FILE_FLUSH_LSN. btr_store_big_rec_extern_fields(): Make the assertion about dict_table_zip_size() more accurate. buf_LRU_get_free_block(), buf_block_alloc(): Add parameter zip_size. buf_calc_zblob_page_checksum(): Remove. Replace with page_zip_calc_checksum(). buf_page_init(): Remove parameter zip_size. buf_page_io_complete(): Add a placeholder for handling compressed pages. trx_doublewrite_page_inside(): Remove redundant function. page_zip_write_rec(): Relax an overly tight assertion about blob_no.
-
- 02 May, 2006 1 commit
-
-
marko authored
buf_page_print(): Print also compressed pages. Add parameter zip_size. buf_flush_init_for_writing(): Stamp the fields on a compressed B-tree index page. Add the header field FIL_PAGE_ZBLOB_SPACE_ID as an alias of FIL_PAGE_PREV. page_zip_calc_checksum(): New function. page_zip_compress(): Avoid copying the fields that are written in buf_flush_init_for_writing(). page_zip_header_cmp(): New function for comparing those fields of the page header that will not be written in buf_flush_init_for_writing().
-
- 28 Apr, 2006 2 commits
-
-
marko authored
recompressing the page.
-
marko authored
buf_flush_init_for_writing(): Calculate the checksum with the actual zip_size. buf_calc_zblob_page_checksum(): Skip the field FIL_PAGE_SPACE_OR_CHKSUM. trx_sys_doublewrite_init_or_restore_page(): Use the actual zip_size. page_cur_insert_rec_low(): If page_zip_alloc() fails, try compressing the whole page afterwards.
-
- 27 Apr, 2006 1 commit
-
-
marko authored
-
- 26 Apr, 2006 1 commit
-
-
marko authored
btr_page_reorganize_low(): Rename new_page to temp_page. btr_store_big_rec_extern_fields(): FIL_PAGE_TYPE is 2 bytes, not 4. buf_page_init(), buf_page_create(), buf_read_page_low(), buf_page_init_for_read(): Add parameter zip_size. buf_page_init_for_backup_restore(), recv_apply_log_recs_for_backup(): Enclose in #ifdef UNIV_HOTBACKUP. Enclose some debug code in #ifdef UNIV_LOG_REPLICATE. page_zip_write_header_log(): Replace page_zip with a pointer to the uncompressed page. page_zip_write_rec(): Relax an assertion about blob_no + n_ext. page_copy_rec_list_to_created_page_write_log(): Allow logging to be disabled.
-
- 25 Apr, 2006 1 commit
-
-
marko authored
and to the file space header (FSP_PAGE_ZIP_SIZE, renamed from FSP_LOWEST_NO_WRITE). fil_space_struct: Add zip_size. dict_table_struct: Embed zip_size in flags. dict_table_zip_size(): Infer zip_size from table->flags. dict_sys_tables_get_zip_size(): Read zip_size from SYS_TABLES.TYPE. fil_space_get_zip_size(): Read zip_size from the file space header. Add the redo log entry type MLOG_ZIP_FILE_CREATE.
-
- 12 Apr, 2006 2 commits
- 11 Apr, 2006 4 commits
-
-
marko authored
page_zip_alloc(): Add parameter "mtr" and log successful calls to page_zip_compress(). page_zip_write_blob_ptr(), page_zip_write_node_ptr(): Write the offset on the uncompressed page, because mlog_write_initial_log_record_fast() does not do so. page_zip_write_header_log(), page_zip_parse_write_header(): Encode the offset in one byte.
-
marko authored
MLOG_ZIP_LIST_START_COPY and MLOG_ZIP_LIST_END_COPY. btr_compress(): Simplify a debug assertion. page_zip_compress_write_log(), page_zip_parse_compress(): New functions. page_cur_parse_insert_rec(): Simplify the code. page_parse_create_zip(): Removed. page_create_zip(), page_copy_rec_list_end(), page_copy_rec_list_start(): Invoke page_zip_compress_write_log().
-
marko authored
btr_page_create(): Remove parameters "prev" and "next". The pointers to adjacent B-tree pages will be set in the caller before any user records are inserted. Remove the redo log entry type MLOG_ZIP_ROOT_RAISE, since btr_root_raise_and_insert() will not defer modifications to the compressed page. btr_attach_half_pages(): Add parameter new_page_zip.
-
marko authored
crash recovery of uncompressed tables.
-
- 10 Apr, 2006 2 commits
-
-
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.
-
marko authored
assume that the operation always succeeds.
-
- 07 Apr, 2006 3 commits
-
-
marko authored
page_zip_parse_write_blob_ptr(): New function for applying the redo log record MLOG_ZIP_WRITE_BLOB_PTR. page_zip_write_blob_ptr(): Write the necessary information to the redo log. page0zip.c: Tighten the assertions to ensure that blob_ptr < page_zip->n_blobs. page_zip_write_node_ptr(): Use memcpy() instead of mach_write_to_4().
-
marko authored
page_zip_parse_write_header(): New function for applying the redo log of MLOG_ZIP_WRITE_HEADER. page_zip_parse_write_node_ptr(): Mark the log corrupted if !page_zip.
-
marko authored
page_zip_parse_write_node_ptr(): New function to apply a redo log of MLOG_ZIP_WRITE_NODE_PTR. page_zip_write_node_ptr(): Write all needed information to the redo log. page_zip_write_header_log(): Write all necessary information to the redo log.
-
- 05 Apr, 2006 1 commit
-
-
marko authored
dict_mem_table_create(): Account for DICT_TF_COMPRESSED in a debug assertion. btr_store_big_rec_extern_fields(), btr_free_externally_stored_field(), btr_copy_externally_stored_field(): Implement the disk format for compressed BLOB pages. btr_copy_externally_stored_field(): Improve error reporting and handling when decompressing BLOB pages. buf_flush_init_for_writing(), buf_page_is_corrupted(), buf_page_print(): Account for compressed BLOB pages (FIL_PAGE_TYPE_ZBLOB). buf_calc_zblob_page_checksum(): New function.
-
- 04 Apr, 2006 1 commit
-
-
marko authored
Replace btr_page_get_level() with page_is_leaf() where possible. row_purge_upd_exist_or_extern(): Remove obsolete TODO comment. dtuple_convert_big_rec(): Replace a flag variable with goto.
-
- 03 Apr, 2006 3 commits
-
-
marko authored
btr_store_big_rec_extern_fields(): Assert that page_zip is non-NULL if and only if dict_table_is_zip() holds. btr_free_externally_stored_field(): Observe dict_table_is_zip(). Allow page_zip==NULL even if dict_table_is_zip(). Remove the related TODO comment in row_purge_upd_exist_or_extern(). page_zip_available(): uncompressed_size already includes PAGE_ZIP_DIR_SLOT_SIZE. page_zip_decompress(): Remove bogus assertion d_stream.next_out == last. Do not subtract BTR_EXTERN_FIELD_REF_SIZE from d_stream.avail_in when decompressing records, because the records may be deleted later in page_zip_apply_log(), and no BLOB pointers are allocated for deleted records.
-
marko authored
row_purge_upd_exist_or_extern().
-
marko authored
btr_page_split_and_insert(): Avoid dereferencing pointers to garbage on the old page. btr_cur_pessimistic_insert(): Pass pointer to big_rec_vec to btr_cur_optimistic_insert(). trx_undo_prev_version_build(): Only invoke rec_set_field_extern_bits() if n_ext_vect > 0. row_ins_index_entry_low(): Simplify a debug assertion. page_copy_rec_list_end_no_locks(): Make the loop slightly more readable. page_delete_rec_list_end(): Delete records on compressed pages one by one.
-
- 30 Mar, 2006 1 commit
-
-
marko authored
page_zip_get_n_prev_extern(): Ignore deleted records. page_zip_write_rec(): Remove bogus debug assertion about the BLOB pointer being zero-filled. It would fail when reallocating records from the page heap or when updating records in place.
-
- 29 Mar, 2006 1 commit
-
-
marko authored
copy BLOB pointers. page_zip_dir_find_free_low(): New function, split from page_zip_dir_find_free(). Add comments about processing the records in heap_no order. Fix some typographic errors in comments and improve formatting. page_zip_decompress(): Initialize (clear) the BLOB pointers in deleted records. page_zip_clear_rec(): Relocate page_zip_validate() assertions, so that they will not fail if a record containing BLOB pointers is being deleted. Note that page_zip_validate() will fail if page_zip_clear_rec() is unable to clear the record.
-
- 28 Mar, 2006 1 commit
-
-
marko authored
page_zip_decompress(): Pass size = d_stream.avail_in + 1 to page_zip_apply_log(), since the terminating NUL byte is not included in the space reserved for the compressed data stream. page_zip_clear_rec(): Clear also node pointer fields.
-
- 27 Mar, 2006 2 commits
- 23 Mar, 2006 1 commit
-
-
marko authored
page_delete_rec_list_end(): Do not invoke page_zip_clear_rec(). page_zip_clear_rec(): Remove the global declaration. Add an assertion that the record must be on the free list. Copy onl rec_offs_data_size() bytes before attempting to clear the record and to compress the page. page_zip_compress(), page_zip_write_rec(): Remove debug assertions that trx_id, roll_ptr and node_ptr of deleted records be zero-filled.
-
- 22 Mar, 2006 3 commits
-
-
marko authored
page_zip_write_rec(): Allow the record to be delete-marked.
-
marko authored
page_zip_write_trx_id_and_roll_ptr(): Write roll_ptr after trx_id, not over it.
-
marko authored
page_cur_search_with_match(): Add a page_zip_validate() debug assertion. page_validate(): Add a missing space to a fprintf() format string.
-
- 20 Mar, 2006 2 commits
-
-
marko authored
page_zip_compress(): Add a debug check that the trx_id and roll_ptr columns of deleted records are zero-filled. This should provide some detection against misdirected writes. page_zip_decompress(): Correct typos in comments.
-
marko authored
btr_page_get_father_for_rec(): Remove redundant assertion. Add UNIV_UNLIKELY to an assertion-like test. btr_validate_level(): Add debug assertions on page_zip_validate(). page_zip_compress(): Remove bogus assertion. page_zip_write_rec(): Assert that the record written is neither delete-marked nor deleted.
-
- 17 Mar, 2006 2 commits
-
-
marko authored
page_zip_compress(): Assert that trx_id and roll_ptr are zero for deleted records. page_zip_clear_rec(): Remove comment about need for redo logging. This operationg is already logged on a higher level. page_delete_rec_list_end(): Always invoke page_zip_clear_rec() on compressed pages.
-
marko authored
Restore page_zip_clear_rec() to the global scope. Invoke it in page_delete_rec_list_end(). Add debug assertions to page0zip.c to guard against overwriting data on the compressed page.
-
- 16 Mar, 2006 1 commit
-
-
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.
-