Commit graph

1109 commits

Author SHA1 Message Date
marko
7c2257c673 branches/innodb+: Adjust decorative comment. 2008-10-02 05:20:32 +00:00
marko
019174152b branches/innodb+: ibuf_set_entry_counter(): Return FALSE if trying to
insert after a record that has no counter field.

ibuf_get_entry_counter_low(): Return ULINT_UNDEFINED if the record
lacks a counter.
2008-10-01 11:14:03 +00:00
marko
8e8f02e521 branches/innodb+: row_search_index_entry(): Clean up the call interface
and add assertions to callers.  Remove the added ibool* parameter and
return enum row_search_result instead of ibool, to reflect the four
different outcomes: record found, not found, buffered, and status unknown
(record not in the buffer pool).

rb://6
2008-09-30 18:06:38 +00:00
marko
db1cb1066d branches/innodb+: ibuf_rec_get_size(): Correct some bugs. rb://17
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.
2008-09-30 11:33:33 +00:00
marko
1141a8e06e branches/innodb+: page_zip_dir_delete(): Do not clear the last record on
a secondary index leaf page, because that could break delete buffering.

btr_page_get_father_node_ptr(): Remove a TODO comment regarding this.
2008-09-30 11:21:39 +00:00
marko
2cf9ce26fc branches/innodb+: Minor cleanup.
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.
2008-09-30 10:29:23 +00:00
marko
29c7db7168 branches/innodb+: Non-functional changes:
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.
2008-09-30 07:18:11 +00:00
marko
829ab89185 branches/innodb+: Remove an #ifdef around buf_block_dbg_add_level().
This could have been made as part of the merge in r2661.
2008-09-29 11:15:57 +00:00
marko
160ea61e63 branches/innodb+: Minor cleanup.
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.
2008-09-26 10:47:17 +00:00
marko
70fd0ce573 branches/innodb+: row_upd_sec_index_entry():
Comment the assignment to btr_cur->thr.
2008-09-25 12:03:11 +00:00
marko
1f19bd86bc branches/innodb+: btr_cur_search_to_nth_level(): Correct a merge
error.  In r2324, when changes were merged from branches/fts, the
assignment guess = NULL was accidentally removed after height--.
The assignment is in that place in branches/fts since r990.
2008-09-25 10:31:45 +00:00
marko
53e26c42bc branches/innodb+: row_upd_sec_index_entry(): Pass the BTR_DELETE_MARK
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.
2008-09-24 17:43:12 +00:00
marko
86f06c6ed2 branches/innodb+: Merge revisions 2676:2678 from branches/zip. 2008-09-24 10:50:28 +00:00
marko
30443c5592 branches/innodb+: Merge revisions 2660:2676 from branches/zip. 2008-09-24 09:45:19 +00:00
marko
57324a68cb branches/innodb+: row_purge_remove_sec_if_poss_low(): Restore the
suspicious assignment that was removed in r2670 and note why it is needed.
2008-09-24 09:23:32 +00:00
marko
1c448425af branches/innodb+: ibuf_delete(): Correctly set the free bits in the
insert buffer bitmap.
2008-09-24 09:19:24 +00:00
marko
78324e2786 branches/innodb+: struct btr_cur_struct: leaf_in_buf_pool: Correct the comment. 2008-09-23 11:56:14 +00:00
marko
8a746805d9 branches/innodb+: row_purge_remove_sec_if_poss_low(): Remove a suspicious
assignment that was added in r990 to branches/fts and merged in r2324.
2008-09-23 08:03:49 +00:00
marko
12d060fb21 branches/innodb+: Non-functional change:
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.
2008-09-22 10:38:51 +00:00
marko
31abc4432c branches/innodb+: ibuf_index_page_calc_free(): Revert the relaxation of an
assertion.
2008-09-22 10:34:49 +00:00
marko
9d5971efae branches/innodb+: Non-functional change: Use dict_index_is_ibuf()
instead of accessing index->type directly.
2008-09-22 10:31:18 +00:00
marko
c0ce3d4b2b branches/innodb+: Use buf_pool_mutex_own() instead of accessing
buf_pool_mutex directly.
2008-09-22 10:19:47 +00:00
marko
8af53f3c3a branches/innodb+: Non-functional change: Rename all functions related to the
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().
2008-09-22 09:18:14 +00:00
marko
19ddd9a58c branches/innodb+: ibuf_print(): Add a missing local variable that has been
missing since the code was merged in r2324 from branches/fts.
2008-09-22 09:10:38 +00:00
marko
f248e92092 branches/innodb+: Correct an error introduced in r736 of branches/fts
and merged in r2324:

ibuf_page(): Assert that recv_no_ibuf_operations == FALSE.

fil_io(): Check !recv_no_ibuf_operations before calling ibuf_page().
2008-09-22 08:05:17 +00:00
marko
c5fa1c20be branches/innodb+: Merge 2637:2660 from branches/zip. 2008-09-22 07:57:34 +00:00
marko
1c8ce73ace branches/innodb+: buf0buf.c: Fix some assertions.
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).
2008-09-19 14:10:56 +00:00
marko
6fadbe8a1d branches/innodb+: buf_page_get_gen(): Correct some ut_ad() assertions.
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.
2008-09-19 14:00:02 +00:00
marko
294917e409 branches/innodb+: Undo another white-space change that makes the code
differ from branches/zip.
2008-09-19 13:34:12 +00:00
marko
f8d3a6fd60 branches/innodb+: buf_print_io(): Replace a TAB in the output with spaces,
so that this will be identical to branches/zip.
2008-09-18 09:30:22 +00:00
marko
fd3df4d0a4 branches/innodb+: Undo the partial introduction of UNIV_UNUSED, to reduce
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.
2008-09-18 08:56:13 +00:00
marko
f50e5536ad branches/innodb+: Add missing UNIV_INTERN linkage specifiers. 2008-09-18 08:44:32 +00:00
marko
7dc3e545c3 branches/innodb+: Revert some changes that make the code differ
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.
2008-09-18 07:01:13 +00:00
marko
ab98a101c1 branches/innodb+: btr_page_get_father_node_ptr(): Add TODO comments about
accessing a freed record on a compressed page.
2008-09-18 06:56:32 +00:00
marko
3283c6e9b4 branches/innodb+: srv0srv.c: Revert a change from branches/zip.
The variable srv_stats_sample_pages was declared ib_uint64_t in srv0srv.c
and unsigned long long in srv0srv.h.
2008-09-17 20:03:33 +00:00
marko
3c939e95cd branches/innodb+: Merge 2579:2637 from branches/zip. 2008-09-17 19:52:30 +00:00
marko
cd20d90594 branches/innodb+: buf0buddy.c: Undo changes to white space that make
the file differ from branches/zip.
2008-09-17 19:38:41 +00:00
marko
0b0d806e6a branches/innodb+: Minor cleanup.
btr0cur.c: Undo changes to white space that make the code differ from
branches/zip.

btr_cur_del_unmark_for_ibuf(): Remove this unused function.

btr_cur_set_deleted_flag_for_ibuf(): Add missing UNIV_INTERN specifier.
Correct the function comment.  Call btr_rec_set_deleted_flag() instead
of rec_set_deleted_flag_new(), so that delete buffering will actually
work on ROW_FORMAT=REDUNDANT tables.
2008-09-17 19:31:42 +00:00
marko
61ed2bc91b branches/innodb+: ibuf0ibuf.c: Minor cleanup to make the code a little
closer to branches/zip.

ibuf_size_update(): Add const qualifier to the parameter "root".
Remove #ifdef UNIV_SYNC_DEBUG around ut_ad(mutex_own()).

ibuf_page(): Use the variable name local_mtr instead of mtr_local, to
be more like existing functions.  Eliminate the flag use_local_mtr.

ibuf_get_merge_page_nos(): Restore an "if (...) break; else if" to
"if (...) break; if" as in branches/zip.

ibuf_dummy_index_create(), ibuf_dummy_index_add_col(),
ibuf_contract_ext(), ibuf_insert_low(): Revert to the formatting of
branches/zip.
2008-09-15 10:15:25 +00:00
marko
b0f35c188a branches/innodb+: ibuf_t: Remove the unused array n_ops[].
ibuf_print(): Do not print n_ops[].

ibuf_print_ops(): Output trailing newline.
2008-09-15 10:13:40 +00:00
marko
890cd67a11 branches/innodb+: row_purge_remove_sec_if_poss_low(): Apply De Morgan's rule
to eliminate double negation from an assertion.
2008-09-15 06:25:21 +00:00
sunny
4b06a4b130 branches/innodb+: Merge revisions 2460:2579 from branches/zip
The followin mysql-tests failed (and they are known to fail):
main.information_schema        	[ fail ]
main.innodb_file_per_table_basic[ fail ]
main.type_bit_innodb           	[ fail ]

Tested against : MYSQL_SERVER_VERSION  "5.1.28"
2008-08-09 00:15:46 +00:00
sunny
c871d1146f branches/innodb+: Fix a debug assertion. 2008-06-16 03:12:16 +00:00
sunny
ee8a957c10 branches/innodb+: Fix typo in comment. 2008-06-16 03:11:30 +00:00
sunny
838aa2cfea branches/innodb+: zip_size can be 0 when called from ibuf. 2008-06-10 09:45:36 +00:00
sunny
bce845ad1b branches/innodb+: The debug assertion should check for the case where the
zip size can be 0.
2008-06-10 01:41:40 +00:00
inaam
362369ae57 branches/innodb+: Merge revisions r2460:2461 from branches/zip 2008-05-17 22:37:07 +00:00
inaam
a80acb2783 branches/innodb+: Merge revisions r2455:r2459 from branches/zip
(These changes remove the POSIX AIO stuff)
2008-05-16 14:49:22 +00:00
inaam
a48c8a2878 branches/innodb+: Merge revisions 2344:2454 from branches/zip 2008-05-14 15:43:19 +00:00
marko
f30c39ae7f branches/innodb+: Merge revisions 2340:2343 from branches/zip 2008-03-03 12:57:07 +00:00