- 17 Oct, 2007 1 commit
-
-
marko authored
fix the bugs introduced in r1591. row_rec_to_index_entry_low(): Clear "n_ext". Do not allow it to be NULL. Add const qualifier to dict_index_t*. row_rec_to_index_entry(): Add the parameters "offsets" and "n_ext". btr_cur_optimistic_update(): Add an assertion that there are no externally stored columns. Remove the unreachable call to btr_cur_unmark_extern_fields() and the preceding unnecessary call to rec_get_offsets(). btr_push_update_extern_fields(): Remove the parameters index, offsets. Only report the additional externally stored columns of the update vector. row_build(), trx_undo_rec_get_partial_row(): Flag externally stored columns also with dfield_set_ext(). rec_copy_prefix_to_dtuple(): Assert that there are no externally stored columns in the prefix. row_build_row_ref(): Note and assert that the index is a secondary index, and assert that there are no externally stored columns. row_build_row_ref_fast(): Assert that there are no externally stored columns. rec_offs_get_n_alloc(): Expose the function. row_build_row_ref_in_tuple(): Assert that there are no externally stored columns in a record of a secondary index. row_build_row_ref_from_row(): Assert that there are no externally stored columns. row_upd_check_references_constraints(): Add the parameter offsets, to avoid a redundant call to rec_get_offsets(). row_upd_del_mark_clust_rec(): Add the parameter offsets. Remove duplicated code. row_ins_index_entry_set_vals(): Copy the external storage flag. sel_pop_prefetched_row(): Assert that there are no externally stored columns. row_scan_and_check_index(): Copy offsets to a temporary heap across the invocation of row_rec_to_index_entry().
-
- 16 Oct, 2007 2 commits
-
-
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().
-
marko authored
that was broken in r1591. Spotted by Heikki and Vasil.
-
- 15 Oct, 2007 4 commits
-
-
marko authored
never used. Combine the three AC_CHECK_FUNCS tests.
-
marko authored
return the requested amount of memory.
-
marko authored
to replace a built-in instance of InnoDB in mysqld. This is work in progress, with several limitations: * Other plugins defined in the builtin InnoDB are not disabled. However, InnoDB in MySQL 5.1 only defines the storage engine plugin, no INFORMATION_SCHEMA plugins. * The global C symbols in ha_innodb.so except innodb_hton_ptr and builtin_innobase_plugin will have to be redefined, e.g., by objcopy. * The storage engine cannot be called "InnoDB" to avoid a conflict with the builtin name. Here we call it InnoDBzip. innobase_hton_name[]: Rename to "InnoDBzip" when building a dynamic plugin. innodb_plugin_init(): New function for the dynamic plugin, to copy and redirect configuration parameters from the builtin InnoDB. innodb_dynamic: New configuration parameter. This has to be added to the builtin InnoDB in MySQL 5.1. Also, innodb_hton_ptr must be made global there. innobase_init(): Interpret the parameter innodb_dynamic. Makefile.am: Redefine class ha_innobase to ha_innodb by a preprocessor define. Apparently, C++ classes cannot be easily renamed by objcopy.
-
marko authored
those SELECTs whose ORDER BY cannot possibly make use of an index.
-
- 12 Oct, 2007 9 commits
-
-
marko authored
Do not assume anything about the contents of the bitmap. ibuf_update_free_bits_low(): Use this function only for uncompressed pages. Remove the parameter zip_size. This function avoids latching the bitmap page and updating the bitmap when the bits do not change. ibuf_update_free_bits_zip(): New function based on ibuf_update_free_bits_low(), for use on compressed pages. Remove the parameter max_insert_size that was used for computing the before image of the free bits. Always update the bitmap. ibuf_index_page_calc_free_zip(): New function, factored out from ibuf_index_page_calc_free(). ibuf_update_free_bits_if_full(): Document that this function must only be invoked on uncompressed pages. Add a debug assertion about this.
-
vasil authored
Add the proper macros for checking the correct latching order in trx information_schema code. Approved by: Marko
-
marko authored
-
marko authored
avoid repeated invocation of the costly function rec_get_converted_size().
-
marko authored
-
vasil authored
Fix off-by-one error in ut_raw_to_hex().
-
marko authored
and add some debug assertions.
-
marko authored
in r1960.
-
vasil authored
Non-functional change: add a missed space in the output message.
-
- 11 Oct, 2007 2 commits
- 10 Oct, 2007 2 commits
- 08 Oct, 2007 2 commits
-
-
marko authored
Unfortunately, the patch seems to prevent MySQL from utilizing secondary indexes in the ORDER BY clauses. Thus, the test no longer checks if newly created indexes are well-formed. ChangeSet@1.2528.98.1 2007-08-02 12:45:56-07:00 igor@mysql.com Fixed bug#28404. This patch adds cost estimation for the queries with ORDER BY / GROUP BY and LIMIT. If there was a ref/range access to the table whose rows were required to be ordered in the result set the optimizer always employed this access though a scan by a different index that was compatible with the required order could be cheaper to produce the first L rows of the result set. Now for such queries the optimizer makes a choice between the cheapest ref/range accesses not compatible with the given order and index scans compatible with it.
-
vasil authored
Add diagnostic function ha_storage_get_size() to retrieve the amount of memory used by a ha_storage_t object. Approved by: Marko
-
- 05 Oct, 2007 7 commits
-
-
marko authored
accidentally broken in r1939. It failed when next_rec == NULL.
-
marko authored
-
marko authored
been added in r1943. This is needed for building a noninlined version.
-
marko authored
references uninitialized, because it causes bogus warnings since r1947.
-
marko authored
dtuple_validate(): Detect uninitialized data. page_cur_insert_rec_low(), page_cur_insert_rec_zip(): Assert that the record being inserted is valid before and after insertion.
-
marko authored
reports duplicate key values. The reported value may depend on the size of the main-memory merge sort buffer (row_merge_block_t).
-
marko authored
-
- 04 Oct, 2007 1 commit
-
-
marko authored
-
- 03 Oct, 2007 6 commits
-
-
marko authored
INNODB_ZIP and INNODB_ZIP_RESET from ha_innodb.cc to i_s.cc. plugin_author, END_OF_ST_FIELD_INFO, i_s_info: New common constants. trx_i_s_common_deinit(): Renamed to i_s_common_deinit().
-
marko authored
in ST_FIELD_INFO.
-
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.
-