- 16 Oct, 2006 1 commit
-
-
marko authored
of rec accessor functions.
-
- 13 Oct, 2006 7 commits
-
-
marko authored
Trim the fetched prefix with dtype_get_at_most_n_mbchars().
-
marko authored
and remove the buf_block_align() call.
-
marko authored
-
marko authored
Replace buf_frame_modify_clock_inc() with buf_block_modify_clock_inc(). Replace buf_frame_get_lock_hash_val() with buf_block_get_lock_hash_val(). Replace buf_frame_get_lock_mutex() with buf_block_get_lock_mutex(). page_create_zip(), page_create(), page_create_low(), btr_page_free(), btr_page_free_low(): Replace page_t with buf_block_t.
-
marko authored
invoke mem_erase_buf() only after interpreting block->buf_block.
-
marko authored
ibuf_update_free_bits_low(), ibuf_update_free_bits_for_two_pages_low(), ibuf_set_free_bits_low(): Replace page_t with buf_block_t.
-
marko authored
ibuf_reset_free_bits(): Remove, as there already is a similar function ibuf_reset_free_bits_with_type(). ibuf_reset_free_bits_with_type(), ibuf_set_free_bits(), ibuf_update_free_bits_if_full(), btr_leaf_page_release(), buf_page_make_young(): Replace page_t with buf_block_t. btr_compress(): Replace btr_page_get() with btr_block_get().
-
- 12 Oct, 2006 6 commits
-
-
marko authored
mlog_write_initial_log_record_fast(): Remove the buf_block_align() call unless #ifdef UNIV_DEBUG. btr_cur_update_in_place(): Replace buf_frame_get_page_zip() with buf_block_get_page_zip(). btr_page_create(), btr_page_empty(): Replace the parameter page with block. btr_attach_half_pages(): Use btr_block_get() instead of btr_page_get(). Remove buf_block_align() calls. btr_cur_latch_leaves(): Remove duplicated code. Use btr_block_get() instead of btr_page_get(). Remove buf_block_align() calls.
-
marko authored
When allocating a block from heap->free_block, set buf_block.
-
marko authored
with buf_block_alloc() and buf_block_free(), in order to avoid buf_block_align() calls.
-
marko authored
btr_block_get(): New function to return buf_block_t. btr_page_alloc(), buf_page_get_release_on_io(), buf_page_get_gen(), buf_page_create(), fseg_create(), fseg_create_general(): Return buf_block_t. buf_page_get_known_nowait(): Expect buf_block_t instead of buf_frame_t. buf_frame_get_newest_modification(): Replace with buf_block_get_newest_modification(). buf_page_dbg_add_level(): Replace with buf_block_dbg_add_level(). buf_block_get_zip_size(): New function. buf_block_get_page_zip(): Reintroduce. recv_recover_page(): Replace page, space, page_no with block. ibuf_bitmap_page_init(): Replace page, zip_size with block. ibuf_parse_bitmap_init(): Remove the parameter zip_size. btr_search_drop_page_hash_index(): Replace page with block.
-
marko authored
with page_get_page_no() and page_get_space_id(). We want to avoid buf_block_align() calls, and the page_no and space_id are now stamped on the pages early on.
-
marko authored
dict_table_add_system_columns() to dict_table_add_to_cache().
-
- 10 Oct, 2006 2 commits
- 09 Oct, 2006 3 commits
- 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 2 commits