An error occurred fetching the project authors.
- 16 Oct, 2007 1 commit
-
-
marko authored
and use it for flagging externally stored columns in the data tuple. The data tuple contains the same columns as the clustered index record, but in a different order. This error was introduced in r1591. TODO: the assertion ut_ad(!dfield_is_ext()) may fail in btr_cur_pessimistic_update().
-
- 20 Aug, 2007 1 commit
-
-
marko authored
-
- 21 Jun, 2007 2 commits
-
-
marko authored
Some things still fail in innodb-index.test, and there seems to be a race condition (data dictionary lock wait) when running with --valgrind. dfield_t: Add an "external storage" flag, dfield->ext. dfield_is_null(), dfield_is_ext(), dfield_set_ext(), dfield_set_null(): New functions. dfield_copy(), dfield_copy_data(): Add const qualifiers, fix in/out comments. data_write_sql_null(): Use memset(). big_rec_field_t: Replace byte* data with const void* data. ut_ulint_sort(): Remove. upd_field_t: Remove extern_storage. upd_node_t: Replace ext_vec, n_ext_vec with n_ext. row_merge_copy_blobs(): New function. row_ins_index_entry(): Add the parameter "ibool foreign" for suppressing foreign key checks during fast index creation or when inserting into secondary indexes. btr_page_insert_fits(): Add const qualifiers. btr_cur_add_ext(), upd_ext_vec_contains(): Remove. dfield_print_also_hex(), dfield_print(): Replace if...else if with switch. Observe dfield_is_ext().
-
marko authored
to rec_t*. Remove the ut_ad(rec_offs_validate()), because this function will be called from row0merge.c on a record that lacks the REC_N_NEW_EXTRA_BYTES.
-
- 19 Jun, 2007 1 commit
-
-
marko authored
upd_get_n_fields(), upd_get_nth_field(): Add const qualifiers.
-
- 16 May, 2007 2 commits
-
-
marko authored
exactly. Rename the local variable "ulint level" to "ibool leaf". Document that if the function returns DB_SUCCESS on a compressed page that is covered by the insert buffer, the mini-transaction must be committed before latching any further pages. Verify that this is the case on all execution paths.
-
marko authored
the insert buffer bitmap. ibuf_set_free_bits_func(): Never disable redo logging. ibuf_update_free_bits_zip(): Remove. btr_page_reorganize_low(), page_zip_reorganize(): Do not update the insert buffer bitmap. Instead, document that callers will have to take care of it, and adapt the callers. btr_compress(): On error, reset the insert buffer free bits. btr_cur_insert_if_possible(): Do not modify the insert buffer bitmap. btr_compress(), btr_cur_optimistic_insert(): On compressed pages, reset the insert buffer bitmap. Document why. btr_cur_update_alloc_zip(): Document why it is necessary and sufficient to reset the insert buffer free bits. btr_cur_update_in_place(), btr_cur_optimistic_update(), btr_cur_pessimistic_update(): Update the free bits in the same mini-transaction. Document that the mini-transaction must be committed before latching any further pages. Verify that this is the case in all execution paths. row_ins_sec_index_entry_by_modify(), row_ins_clust_index_entry_by_modify(), row_undo_mod_clust_low(): Because these functions call btr_cur_update_in_place(), btr_cur_optimistic_update(), or btr_cur_pessimistic_update(), document that the mini-transaction must be committed before latching any further pages. Verify that this is the case in all execution paths.
-
- 28 Mar, 2007 1 commit
-
-
marko authored
Previously, when big_rec was returned, the fields would point to freed memory. The memory heap was allocated locally, and the data tuple was allocated from the heap, and the big_rec would point to some fields in the data tuple. row_ins_clust_index_entry_by_modify(): Add parameter heap, for the same reason.
-
- 25 Oct, 2006 1 commit
-
-
marko authored
btr_check_node_ptr(): Replace page_t* parameter with buf_block_t*. btr_free_externally_stored_field(): Add const qualifier to rec. Remove an explicit buf_block_align() call, but replace an mtr_memo_contains() with mtr_memo_contains_page(). row_upd_rec_sys_fields(): Reorder an assertion containing buf_block_align() so that the costly call can be avoided in some cases.
-
- 24 Oct, 2006 1 commit
-
-
marko authored
from the adaptive hash index [btr_search_guess_on_hash() and btr_search_validate()]. Some references to buf_block_align() remain in debug builds. btr_store_big_rec_extern_fields(): Add the parameter rec_block. page_rec_get_next_low(): Do not assume that the page has been allocated from the buffer pool when printing the diagnostic information. page_cur_insert_rec_low(): Replace the parameter page_zip_des_t* page_zip with the parameter buf_block_t* block.
-
- 20 Oct, 2006 2 commits
-
-
marko authored
btr_cur_t: Move page_block to page_cur_t::block. page_cur_get_block(), page_cur_get_page_zip(): New functions. page_cur_position(): Add parameter block. Remove many page_zip parameters, now that there is page_cur_get_page_zip(). Replace some page, page_zip parameters with block. Add some const qualifiers to function parameters and remove casts. PAGE_HEAP_NO_INFIMUM, PAGE_HEAP_NO_SUPREMUM, PAGE_HEAP_NO_USER_LOW: New constants. Replace some cursor code in low-level diagnostic functions with direct management of rec, because buf_block_t::buf_fix_count may be 0 when the functions are called, and debug assertions would fail.
-
marko authored
-
- 18 Oct, 2006 2 commits
-
-
marko authored
calling buf_block_align() in btr_pcur_move_backward_from_page(). Also, enclose some assertions about page_is_comp() in #ifdef UNIV_BTR_DEBUG.
-
marko authored
Replace page_t* or page_zip_des_t* parameters in some functions with buf_block_t*. buf_frame_get_page_zip(): Disable unless #ifdef UNIV_DEBUG || UNIV_ZIP_DEBUG. btr_cur_t: Add buf_block_t* page_block. btr_pcur_get_block(), btr_cur_get_block(), btr_cur_get_page_zip(): New functions. btr_cur_position(): Add the parameter block.
-
- 29 Sep, 2006 1 commit
-
-
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.
-
- 26 Sep, 2006 1 commit
-
-
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.
-
- 19 Sep, 2006 1 commit
-
-
marko authored
-
- 29 Aug, 2006 1 commit
-
-
marko authored
as per revisions r763:765.
-
- 31 Jul, 2006 1 commit
-
-
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.
-
- 12 Apr, 2006 1 commit
-
-
marko authored
-
- 23 Feb, 2006 1 commit
-
-
marko authored
-
- 21 Feb, 2006 1 commit
-
-
marko authored
Fix the way how btr_free_externally_stored_field() is called in purge. btr_free_externally_stored_field(): Add parameter field_ref that points directly to the BLOB reference. Use rec, offsets, page_zip, and i only for the page_zip_write_blob_ptr() call. row_purge_upd_exist_or_extern(): Do not assume that the undo log contains the entire record. Only pass the BLOB reference to btr_free_externally_stored_field().
-
- 16 Feb, 2006 1 commit
-
-
marko authored
This has not been extensively tested yet, because some other part of the code breaks in "ibtestblob". btr_free_page_low(): Add parameters "space" and "page_no", because they are omitted from compressed BLOB pages. btr0cur.c: Implement the compression and decompression of BLOB columns, enabled at compile-time (#define ZIP_BLOB TRUE) for now. btr_rec_free_externally_stored_fields(), btr_copy_externally_stored_field(): Made static mlog_log_string(): New function, split from mlog_write_string(), allows to avoid a dummy memcpy() of compressed BLOB pages.
-
- 13 Feb, 2006 1 commit
-
-
marko authored
flag of records. The flags may only be updated in heap-allocated copies of records. btr_root_raise_and_insert(), btr_page_split_and_insert(), btr_cur_insert_if_possible(), btr_cur_optimistic_insert(), btr_cur_pessimistic_insert(), page_cur_tuple_insert(), page_cur_insert_rec_low(): Add parameters "ext" and "n_ext". dtuple_convert_big_rec(): Make parameter "ext" const.
-
- 10 Feb, 2006 1 commit
-
-
marko authored
BLOB pointers, trx_id, and roll_ptr. btr_empty(), btr_create(), page_create(): Add parameter "index", as some index information will be encoded on the compressed page. Define REC_NODE_PTR_SIZE as 4. Allow btr_page_reorganize() and btr_page_reorganize_low() to fail. Define the error code DB_ZIP_OVERFLOW. Make row_ins_index_entry_low() static. page0zip: Encode the index, log reorganized records, and store uncompressed fields separately from the compressed data stream.
-
- 18 Nov, 2005 1 commit
-
-
marko authored
Add function parameters and TODO comments regarding that.
-
- 27 Oct, 2005 2 commits