- 03 Oct, 2007 4 commits
-
-
marko authored
-
marko authored
-
marko authored
For some reason, GCC 4.2.1 ignores casts (for removing constness) in calls to inline functions. page_align(), ut_align_down(): Make the parameter const void*, but still return a non-const pointer. This is ugly, but these functions cannot be replaced with a const-preserving macro in a portable way, given that the pointer argument is not always pointing to bytes. buf_block_get_page_zip(): Implement as a const-preserving macro. buf_frame_get_page_zip(), buf_block_align(): Add const qualifiers. lock_rec_get_prev(): Silence GCC 4.2.1 warnings. mlog_write_initial_log_record(), mlog_write_initial_log_record_fast(), mtr_memo_contains(): Add const qualifier to the pointer. page_header_get_ptr(): Rewrite as page_header_get_offs(), and implement as a macro that calls this function.
-
marko authored
-
- 01 Oct, 2007 4 commits
-
-
marko authored
-
marko authored
-
marko authored
buf_block_hash_get(): New function, similar to buf_page_hash_get(). buf_page_get_block(): Remove the const qualifiers. This is a low-level function, and the operations on block->mutex are non-const. buf_page_try_get_func(): Implement with lower-level predicates, somewhat similar to buf_page_get_known_nowait(). lock_rec_print(): Remove the unused variable zip_size and the call to fil_space_get_zip_size(). Adapt to buf_page_try_get() returning a const pointer.
-
marko authored
buf_block_fix_inc(), and use it.
-
- 28 Sep, 2007 9 commits
-
-
vasil authored
Remove bogus comment from ha_storage_empty().
-
vasil authored
Add const qualifier to the value returned by ha_storage_put(). It must not be changed as this will invalidate the hash.
-
marko authored
from buf_page_t* to buf_block_t*. buf_page_can_relocate(): Replace the incorrect __attribute__((const)) with __attribute__((pure)).
-
marko authored
ha_innobase::update_thd(void): New function, to call the inline function ha_innobase::update_thd(THD*). check_trx_exists(): Make static. handler0alter.cc does not need to call this function.
-
marko authored
offsets_[] arrays, as suggested by Vasil. rec_offs_set_n_alloc(): Declare as a public function. Assert that n_alloc > REC_OFFS_HEADER_SIZE. rec_offs_get_n_alloc(): Assert that n_alloc > REC_OFFS_HEADER_SIZE.
-
marko authored
the sync_thread_levels_g() check, so that it will be easier to add new sync levels.
-
marko authored
-
marko authored
-
vasil authored
Fix compilation warning: can_cache_be_updated(): Remove const qualifier because this function needs to call rw_lock_own().
-
- 27 Sep, 2007 13 commits
-
-
marko authored
with "col" in two debug assertions. This mistake was made in r1910.
-
vasil authored
Fix a warning produced when UNIV_DEBUG is defined.
-
vasil authored
Move part of the code from lock_rec_print() in a separate function buf_page_try_get() because the same functionality is needed in INFORMATION SCHEMA code. Approved by: Heikki
-
vasil authored
Add auxiliary function lock_rec_get_index() to retrieve the index on which the lock is. Approved by: Heikki
-
vasil authored
Fix a bug where the condition (prtype & DATA_ROW_ID) is unexpectedly always false becasue DATA_ROW_ID is 0. Use a switch instead of if-else in order to avoid repeating (prtype & DATA_SYS_PRTYPE_MASK). Approved by: Heikki
-
marko authored
-
marko authored
innobase_col_to_mysql(): New function, adapted from row_sel_field_store_in_mysql_format(). innobase_rec_to_mysql(): Correct the function comment, which was still saying "clustered index record", although we can convert any record. Make use of innobase_col_to_mysql(). Always call field->reset(), so that innobase_col_to_mysql() will not have to pad anything.
-
marko authored
"data" from byte* to const void*.
-
marko authored
if-else with switch.
-
marko authored
-
marko authored
Since r1905, innobase_rec_to_mysql() does not require a clustered index record. row_merge_dup_t: Remove old_table. row_merge_dup_report(): Do not fetch the clustered index record. Simply convert the tuple by innobase_rec_to_mysql(). row_merge_blocks(), row_merge(), row_merge_sort(): Add a TABLE* parameter for reporting duplicate key values during file sort. row_merge_read_clustered_index(): Replace UNIV_PAGE_SIZE with the more appropriate sizeof(mrec_buf_t).
-
marko authored
clustered or secondary. Remove the rec_offs_validate() assertion, because the function may be passed a mrec_t* that would fail the check.
-
marko authored
This should have been done in r1903, where the minimum size of row_merge_block_t was noted to be UNIV_PAGE_SIZE.
-
- 26 Sep, 2007 8 commits
-
-
marko authored
row_merge_buf_add(): Add ut_ad(data_size < sizeof(row_merge_block_t)) and document why it may fail if sizeof row_merge_block_t < UNIV_PAGE_SIZE.
-
marko authored
row_merge_dup_report(): Do not call innobase_rec_reset().
-
marko authored
dtuple_create_for_mysql(), dtuple_free_for_mysql(): Remove. ha_innobase::records_in_range(): Use mem_heap_create(), mem_heap_free(), and dtuple_create() instead of the removed functions above. Since r1587, InnoDB C++ functions can invoke inlined C functions.
-
marko authored
innobase_rec_to_mysql(): New function, for converting an InnoDB clustered index record to MySQL table->record[0]. TODO: convert integer fields. Currently, integer fields are in big-endian byte order instead of host byte order, and signed integer fields are offset by 0x80000000. innobase_rec_reset(): New function, for resetting table->record[0]. row_merge_build_indexes(): Add the parameter TABLE* table (the MySQL table handle) for reporting duplicate key values. dtuple_from_fields(): New function, to convert an array of dfield_t* to dtuple_t. dtuple_get_n_ext(): New function, to compute the number of externally stored fields. row_merge_dup_t: Structure for counting and reporting duplicate records. row_merge_dup_report(): Function for counting and reporting duplicate records. row_merge_tuple_cmp(), row_merge_tuple_sort(): Replace the ulint* n_dup parameter with row_merge_dup_t* dup. row_merge_buf_sort(): Add the parameter row_merge_dup_t* dup, which is NULL when sorting a non-unique index. row_merge_buf_write(), row_merge_heap_create(), row_merge_read_rec(), row_merge_cmp(), row_merge_read_clustered_index(), row_merge_blocks(), row_merge(), row_merge_sort(): Add const qualifiers. row_merge_read_clustered_index(): Use a common error handling branch err_exit. Invoke row_merge_buf_sort() differently on unique indexes. row_merge_blocks(): note TODO: We could invoke innobase_rec_to_mysql() to report duplicate key values when creating a clustered index.
-
marko authored
dict_find_index_by_max_id(): Rename this static function to its only caller, dict_table_get_index_by_max_id(). dict_table_get_index_by_max_id(): Copy the function comment from dict_find_index_by_max_id().
-
marko authored
rec_get_converted_size_comp(), rec_convert_dtuple_to_rec_comp(), rec_convert_dtuple_to_rec_new(), rec_convert_dtuple_to_rec(): Add a const qualifier to dict_index_t*. row_search_on_row_ref(): Add const qualifiers to the dict_table_t* and dtuple_t* parameters. Note that pcur is an "out" parameter and mtr is "in/out".
-
marko authored
row_build_row_ref_fast(): Note that "ref" is an in/out parameter. row_build_row_ref_from_row(): Add const qualifiers to all "in" parameters.
-
marko authored
dtuple_create(): Simplify a pointer expression. Flag the fields uninitialized after initializing them in the debug version. dtuple_t: Only declare magic_n if UNIV_DEBUG is defined. The field is not assigned to nor tested unless UNIV_DEBUG is defined.
-
- 25 Sep, 2007 1 commit
-
-
marko authored
to avoid a rec_get_offsets() call. Add some const qualifiers. row_sel_get_clust_rec_for_mysql(): Note that "offsets" will also be an input parameter.
-
- 24 Sep, 2007 1 commit
-
-
marko authored
dict_index_t* and dict_table_t* parameters of some functions.
-