- 21 Oct, 2008 1 commit
-
-
marko authored
------------------------------------------------------------------------ r2809 | marko | 2008-10-16 09:41:13 +0300 (Thu, 16 Oct 2008) | 18 lines branches/zip: Skip the undo log size check on REDUNDANT and COMPACT tables. In ROW_FORMAT=DYNAMIC and ROW_FORMAT=COMPRESSED, column prefix indexes require that prefixes of externally stored columns be written to the undo log. This may make the undo log record bigger than the record on the B-tree page. The maximum size of an undo log record is the page size. That must be checked for, in dict_index_add_to_cache(). dict_index_add_to_cache(): Skip the undo log size check for REDUNDANT and COMPACT tables. These tables store prefixes of externally stored columns locally within the clustered index record. There are no special considerations for the undo log record size. innodb-index.test: Ensure that the check exists for ROW_FORMAT=DYNAMIC, but not for ROW_FORMAT=COMPACT. This fixes issue #99. rb://28 approved by Sunny. ------------------------------------------------------------------------ r2810 | vasil | 2008-10-16 19:57:58 +0300 (Thu, 16 Oct 2008) | 12 lines branches/zip: Fix Mantis issue#61: In row_undo_ins_parse_undo_rec(): if we find that a table has no indexes (dict_table_get_first_index() returns NULL) do not try to call trx_undo_rec_get_row_ref() with a NULL pointer because that would lead to a crash. Instead, print a warning and set node->table to NULL just like it is done if the .ibd file is missing. Approved by: Heikki (via IM) ------------------------------------------------------------------------ r2824 | marko | 2008-10-20 09:58:01 +0300 (Mon, 20 Oct 2008) | 2 lines branches/zip: rec_convert_dtuple_to_rec_comp(): Relax a too tight assertion. Spotted by Sunny. ------------------------------------------------------------------------ r2825 | vasil | 2008-10-20 13:41:04 +0300 (Mon, 20 Oct 2008) | 6 lines branches/zip: Print the table name via ut_print_name() and add two spaces before InnoDB. Suggested by: Marko ------------------------------------------------------------------------ r2833 | marko | 2008-10-21 10:16:45 +0300 (Tue, 21 Oct 2008) | 2 lines branches/zip: ibuf_insert_low(): Avoid unnecessarily acquiring and releasing ibuf_mutex. ------------------------------------------------------------------------ r2834 | marko | 2008-10-21 10:18:57 +0300 (Tue, 21 Oct 2008) | 1 line branches/zip: ibuf_delete_rec(): Add debug assertions suggested by Heikki. ------------------------------------------------------------------------ r2835 | marko | 2008-10-21 11:04:06 +0300 (Tue, 21 Oct 2008) | 1 line branches/zip: ibuf_insert_low(): Simplify a comparison. ------------------------------------------------------------------------
-
- 15 Oct, 2008 2 commits
-
-
marko authored
------------------------------------------------------------------------ r2781 | marko | 2008-10-13 13:40:57 +0300 (Mon, 13 Oct 2008) | 1 line branches/zip: page_cur_delete_rec(): Call page_zip_validate_low(). ------------------------------------------------------------------------ r2783 | vasil | 2008-10-13 18:34:34 +0300 (Mon, 13 Oct 2008) | 9 lines branches/zip: Remove mysql-test/patches/bug37312.diff because MySQL "fixed" Bug#37312 by removing the test. http://bugs.mysql.com/37312 http://lists.mysql.com/commits/54462 ------------------------------------------------------------------------ r2784 | marko | 2008-10-13 21:35:30 +0300 (Mon, 13 Oct 2008) | 1 line branches/zip: Add missing NULL check to the assertion added in r2781. ------------------------------------------------------------------------ r2785 | marko | 2008-10-13 22:29:12 +0300 (Mon, 13 Oct 2008) | 2 lines branches/zip: page_cur_delete_rec(): Remove the bogus page_zip_validate_low() assertion that was added in r2781 and explain why it was bogus. ------------------------------------------------------------------------ r2786 | calvin | 2008-10-14 19:14:47 +0300 (Tue, 14 Oct 2008) | 7 lines branches/zip: fix Mantis issue #96 Problem compiling ha_innodb.cc on 64-bit Windows Change the definition of srv_replication_delay from ulint to ulong. ulint is 64-bit on Win64. Approved by: Heikki (on IM) ------------------------------------------------------------------------ r2787 | calvin | 2008-10-14 19:19:41 +0300 (Tue, 14 Oct 2008) | 7 lines branches/zip: fix compiler warning Change the definition of add_on from ulint to ullint, to eliminate the warning in .\btr\btr0cur.c: conversion from 'ullint' to 'ulint', possible loss of data Approved by: Heikki (on IM) ------------------------------------------------------------------------ r2793 | marko | 2008-10-15 10:00:06 +0300 (Wed, 15 Oct 2008) | 2 lines branches/zip: row_create_table_for_mysql(), row_create_index_for_mysql(): Note that the dictionary object will be freed. ------------------------------------------------------------------------ r2794 | marko | 2008-10-15 10:32:40 +0300 (Wed, 15 Oct 2008) | 9 lines branches/zip: When invoking page_zip_copy_recs(), update the lock table and the adaptive hash index. This should fix Issue #95 and Issue #87. page_zip_copy_recs(): Copy PAGE_MAX_TRX_ID as well, to have similar behavior to page_copy_rec_list_start() and page_copy_rec_list_end(). btr_root_raise_and_insert(), btr_page_split_and_insert(), btr_lift_page_up(): Update the lock table and the adaptive hash index. ------------------------------------------------------------------------ r2797 | marko | 2008-10-15 13:21:54 +0300 (Wed, 15 Oct 2008) | 3 lines branches/zip: Introduce UNIV_ZIP_COPY for invoking page_zip_copy_recs() more often in B-tree operations. ------------------------------------------------------------------------ r2799 | marko | 2008-10-15 14:27:42 +0300 (Wed, 15 Oct 2008) | 25 lines branches/zip: When the server crashes while freeing an externally stored column of a compressed table, the BTR_EXTERN_LEN field in the BLOB pointer will be written as 0. Tolerate this in the functions that deal with externally stored columns. This fixes Issue #80 and was posted at rb://26. Note that the clustered index record is always deleted or purged last, after any secondary index records referring to it have been deleted. btr_free_externally_stored_field(): On an uncompressed table, zero out the BTR_EXTERN_LEN, so that half-deleted BLOBs can be detected after crash recovery. btr_copy_externally_stored_field_prefix(): Return 0 if the BLOB has been half-deleted. row_upd_ext_fetch(): Assert that the externally stored column exists. row_ext_cache_fill(): Allow btr_copy_externally_stored_field_prefix() to return 0. row_sel_sec_rec_is_for_blob(): Return FALSE if the BLOB has been half-deleted. This is correct, because the clustered index record would have been deleted or purged last, after any secondary index records referring to it had been deleted. ------------------------------------------------------------------------
-
marko authored
when encountering an empty leaf page, we should advance to the right siblings until a non-empty page is found. Move the initialization of cursor->ibuf_cnt to a better place.
-
- 11 Oct, 2008 1 commit
-
-
marko authored
-
- 02 Oct, 2008 1 commit
-
-
marko authored
-
- 01 Oct, 2008 1 commit
-
-
marko authored
insert after a record that has no counter field. ibuf_get_entry_counter_low(): Return ULINT_UNDEFINED if the record lacks a counter.
-
- 30 Sep, 2008 5 commits
-
-
rb://17marko authored
This function was created when the delete buffering code was merged from branches/fts in r2324. ibuf_rec_get_size(): Rename the parameter new_format to pre_4_1. Use the correct offsets and accessors for both values of pre_4_1. ibuf_rec_get_info(): Note that the record must be in 4.1 or later format.
-
marko authored
a secondary index leaf page, because that could break delete buffering. btr_page_get_father_node_ptr(): Remove a TODO comment regarding this.
-
marko authored
ibuf_set_entry_counter(): Turn a ut_ad() assertion into ut_a(). ibuf_set_del_mark(), ibuf_delete(): Add const qualifiers to read-only parameters.
-
marko authored
ibuf_get_entry_counter_low(): Rename from ibuf_set_entry_counter_low(). This function only reads the counter. Add const qualifier to the rec parameter. ibuf_set_entry_counter(): Document the entry parameter as in/out.
- 29 Sep, 2008 1 commit
-
-
marko authored
This could have been made as part of the merge in r2661.
-
- 26 Sep, 2008 1 commit
-
-
marko authored
ibuf_rec_get_info(): Eliminate the local variable "mod". Use switch-case instead of if-else if-else. ibuf_rec_get_op_type(), ibuf_add_ops(), ibuf_print_ops(): Add const qualifiers to read-only parameters. ibuf_rec_get_volume(): Remove empty line at end of block.
-
- 25 Sep, 2008 2 commits
- 24 Sep, 2008 5 commits
-
-
marko authored
flag to row_search_index_entry() when there are no foreign key constraints. This flag was accidentally omitted when the delete buffering was merged from branches/fts in r2324, and thus delete marking was never buffered.
-
marko authored
-
marko authored
-
marko authored
suspicious assignment that was removed in r2670 and note why it is needed.
-
marko authored
insert buffer bitmap.
-
- 23 Sep, 2008 2 commits
- 22 Sep, 2008 8 commits
-
-
marko authored
ibuf_rec_get_counter(): Rename from ibuf_rec_get_fake_counter(). There is nothing fake about the counter. Also add const qualifiers to the pointers.
-
marko authored
assertion.
-
marko authored
instead of accessing index->type directly.
-
marko authored
buf_pool_mutex directly.
-
marko authored
buf_pool->watch_ fields to start with the common prefix buf_pool_watch, so that they can be searched easily: buf_pool_watch_set(): Renamed from buf_pool_add_watch(). The "add" was misleading, because only one watch can be active at a time. buf_pool_watch_clear(): Renamed from buf_pool_remove_watch(). buf_pool_watch_occurred(): Renamed from buf_pool_watch_happened().
-
marko authored
missing since the code was merged in r2324 from branches/fts.
-
marko authored
and merged in r2324: ibuf_page(): Assert that recv_no_ibuf_operations == FALSE. fil_io(): Check !recv_no_ibuf_operations before calling ibuf_page().
-
marko authored
-
- 19 Sep, 2008 3 commits
-
-
marko authored
buf_page_get_gen(): Once again, zip_size must always match the compressed page size of the tablespace where the page is requested from. This seems to hold also for all calls from the insert buffer. buf_page_optimistic_get_func(): Do not pass mtr to ibuf_page(), because there is no guarantee that mtr would contain an x-latch to the insert buffer bitmap page that covers (block->page.space, block->page.offset).
-
marko authored
zip_size should always equal fil_space_get_zip_size(space), even when called from ibuf. ibuf_page() should be called with mtr=NULL to be equivalent to the original implementation. We cannot assume that mtr holds an x-latch on the insert buffer bitmap page that covers the page that is being requested.
-
marko authored
differ from branches/zip.
-
- 18 Sep, 2008 5 commits
-
-
marko authored
so that this will be identical to branches/zip.
-
marko authored
differences from branches/zip. The __attribute__((unused)) should work on all platforms. When compiled with something else than GCC, MySQL supposedly does #define __attribute__(x) /* empty */ so that the attributes will be ignored.
-
marko authored
-
marko authored
from branches/zip. btr_cur_optimistic_delete(): Split a too long line in the way it is split in branches/zip. buf_page_get_gen(): Add missing space in the function comment. buf_print_io(): Restoer a removed space to the printout. univ.i: Remove C++-style (or C99-style) comments. buf0buf.h: Undo the white-space changes to the wrapper macros of buf_page_get_gen(). ibuf_update_free_bits_low(): Revert the changes. Restore the assertion that this function must not be invoked on compressed pages. The function ibuf_update_free_bits_zip() is for compressed pages. ibuf_insert_to_index_page(): Undo a white-space change.
-
marko authored
accessing a freed record on a compressed page.
-
- 17 Sep, 2008 2 commits