- 06 Oct, 2006 1 commit
-
-
marko authored
dict_load_foreigns(): Enclose in #ifndef UNIV_HOTBACKUP. fil_extend_tablespaces_to_stored_len(): Pass zip_size to fil_read(). buf_page_init_for_backup_restore(): Add parameter zip_size. Enclose the declaration in buf0buf.h in #ifdef UNIV_HOTBACKUP. recv_apply_log_recs_for_backup(): Replace the local variable "page" with the local variable "block". Add local variable zip_size.
-
- 04 Oct, 2006 1 commit
-
-
marko authored
TODO: test this with InnoDB Hot Backup 3.0
-
- 03 Oct, 2006 1 commit
-
-
marko authored
-
- 02 Oct, 2006 1 commit
-
-
marko authored
of tests are failing with trunk -r869, with this revision using uncompressed storage, and with this revision hard-wired to use 1-kilobyte compressed pages and innodb_file_per_table. btr_push_update_extern_fields(): Do not call ut_ulint_sort() if n_pushed == 0. btr_copy_externally_stored_field_prefix_low(): Replace ut_max() with ut_min().
-
- 29 Sep, 2006 4 commits
-
-
marko authored
-
marko authored
os_aio_simulated_handle() before and after initiating a write. We cannot easily pass the compressed page sizes to this function. The check could only be performed on uncompressed pages.
-
marko authored
-
marko authored
of externally stored columns, and fix bugs introduced in r873. (Bug #22496) btr_page_get_sure_split_rec(), btr_page_insert_fits(), rec_get_converted_size(), rec_convert_dtuple_to_rec(), rec_convert_dtuple_to_rec_old(), rec_convert_dtuple_to_rec_new(): Add parameters ext and n_ext. Flag external fields during the conversion. rec_set_field_extern_bits(), rec_set_field_extern_bits_new(), rec_offs_set_nth_extern(), rec_set_nth_field_extern_bit_old(): Remove. The bits are set by rec_convert_dtuple_to_rec(). page_cur_insert_rec_low(): Remove the parameters ext and n_ext. btr_cur_add_ext(): New utility function for updating and sorting ext[]. Low-level functions now expect the array to be in ascending order for performance reasons. Used in btr_cur_optimistic_insert(), btr_cur_pessimistic_insert(), and btr_cur_pessimistic_update(). btr_cur_optimistic_insert(): Remove some defensive code, because we cannot compute the added parameters of rec_get_converted_size(). btr_push_update_extern_fields(): Sort the array. Require the array to be twice the maximum usage, so that ut_ulint_sort() can be used. dtuple_convert_big_rec(): Allocate new space for the BLOB pointer, to avoid overwriting prefix indexes to the same column. Adapt dtuple_convert_back_big_rec(). row_build_index_entry(): Fetch the columns also for prefix indexes of the clustered index. page_zip_apply_log(), page_zip_decompress_clust(): Allow externally stored fields to lack a locally stored part.
-
- 28 Sep, 2006 2 commits
-
-
marko authored
"On compressed pages, return NULL if incl_data > free_space." btr_page_split_and_insert(): Remove the limit check of n_iterations on compressed pages. After enough many invocations of btr_page_get_sure_split_rec(), the record will finally fit.
-
marko authored
for (;;) { ... if (condition) { ... return }} loop as do { ... } while (!condition); ... return. On compressed pages, return NULL if incl_data > free_space.
-
- 27 Sep, 2006 1 commit
-
-
marko authored
with FIL_PAGE_ARCH_LOG_NO_OR_SPACE_ID and FIL_PAGE_DATA. The doublewrite buffer needs to read the space_id in order to determine the type of the page. Because FIL_PAGE_TYPE could contain garbage in MySQL/InnoDB 5.0 and earlier versions, we cannot trust fil_page_get_type(). Instead, we have to always store the space_id at the same location. This modification wastes 12 bytes per compressed BLOB page (1.2% on 1-kilobyte pages).
-
- 26 Sep, 2006 7 commits
-
-
marko authored
of externally stored columns to REC_1BYTE_OFFS_LIMIT (128) bytes. TODO: only store BTR_EXTERN_FIELD_REF_SIZE (20) bytes with the record, and store the entire column externally. (Bug #22496) dict_col_t::min_prefix: Remove.
-
marko authored
Do not augment clustered index records. When computing the prefix, use dfield (where the prefix was copied), not dfield2 (the record in the clustered index).
-
marko authored
unnecessary memset() introduced in r852. When zip_size != 0, write the compressed page to disk, not the uncompressed one.
-
marko authored
in the clustered index to be smaller than the indexed prefix in secondary indexes. row_ext_lookup(): Return NULL if the column is not stored externally. trx_undo_rec_get_partial_row(): row_build(): Add parameter row_ext_t** ext. row_build_index_entry(): Add the parameter row_ext_t* ext. Invoke row_ext_lookup() to fetch prefixes of externally stored columns. upd_node_t, undo_node_t, purge_node_t: Add the field row_ext_t* ext.
-
marko authored
mach_read_...() functions. Remove unnecessary casts.
-
marko authored
This will be needed for fixing Bug #22496. REC_MAX_INDEX_COL_LEN: New constant, copied from DICT_MAX_INDEX_COL_LEN. row_ext_create(), row_ext_lookup(), row_ext_lookup_low(): New functions.
-
marko authored
stored column. This is the first part of fixing Bug #22496. btr_copy_externally_stored_field_prefix(): New function. btr_copy_externally_stored_field(): Split to btr_copy_externally_stored_field_prefix_low(). row_sel_sec_rec_is_for_blob(): New function, used by row_sel_sec_rec_is_for_clust_rec() in selects via a secondary index.
-
- 25 Sep, 2006 1 commit
-
-
marko authored
btr_push_update_extern_fields(): Instead of iterating all upd_get_n_fields(), stop at the first match. row_search_index_entry(): Simplify the return statements. row_upd_sec_step(): Eliminate the local variable "err". row_upd_clust_step(): Add a UNIV_UNLIKELY hint.
-
- 22 Sep, 2006 3 commits
- 21 Sep, 2006 3 commits
-
-
marko authored
page_zip_decompress_node_ptrs(), page_zip_decompress_sec(), and page_zip_decompress_clust(). See also r856.
-
marko authored
fil_space_get_zip_size() unless zip_size is really needed (update_ibuf_bitmap || page). This avoids an assertion failure when discarding ibuf entries for a deleted tablespace, for which fil_space_get_zip_size() would return ULINT_UNDEFINED. Also, reindent ibuf0ibuf.c.
-
marko authored
page_zip_compress_sec(), and page_zip_compress_clust().
-
- 20 Sep, 2006 5 commits
-
-
marko authored
guaranteed free space available for inserting one record. btr_page_get_sure_split_rec(), btr_cur_pessimistic_insert(): Use page_zip_empty_size(). btr_page_split_and_insert(): Relax a debug assertion that there should be at least two user records on the page. On compressed pages, we may be able to write only one record.
-
marko authored
for more accurate Valgrind debugging. univ.i: Introduce UNIV_DEBUG_VALGRIND, UNIV_MEM_VALID, and UNIV_MEM_INVALID. buf_LRU_block_free_non_file_page(): Invalidate the buffer frame with UNIV_MEM_INVALID(). buf_LRU_get_free_block(): Declare the buffer frame valid with UNIV_MEM_VALID(). Other memory is allocated and deallocated via malloc() and free(), which are already overridden by Valgrind. Without the added instrumentation, accesses to free pages in the buffer pool cannot be caught. The diagnostics could probably be improved further by declaring all non-latched buffer frames invalid.
-
marko authored
rec_convert_dtuple_to_rec_old(): Initialize the record in order to avoid bogus Valgrind warnings about the ut_ad() in mach_write_to_1() and mach_write_to_2(). page_zip_compress(), page_zip_write_rec(), page_zip_write_blob_ptr(): Replace ut_ad(page_validate(...)) with ut_ad(page_simple_validate_new(...)), because otherwise crash recovery would fail.
-
marko authored
Make page_zip->data point to an address different from page, to avoid calling memcpy() with overlapping source and destination.
-
marko authored
Identify DB_TRX_ID and DB_ROLL_PTR in the index.
-
- 19 Sep, 2006 2 commits
-
-
marko authored
on the ZIP_DUMMY index. Because it does not contain valid collation information, the ordering check in page_validate() may fail on pages containing non-binary data. Instead, let the callers of page_zip_decompress() invoke page_validate() when the index information is available.
-
marko authored
-
- 12 Sep, 2006 1 commit
-
-
marko authored
-
- 06 Sep, 2006 2 commits
- 05 Sep, 2006 3 commits
- 04 Sep, 2006 2 commits