diff options
author | unknown <marko@hundin.mysql.fi> | 2005-06-14 12:21:40 +0300 |
---|---|---|
committer | unknown <marko@hundin.mysql.fi> | 2005-06-14 12:21:40 +0300 |
commit | 113c6278516f56f5f4a9356b8ffb234d618e782b (patch) | |
tree | 5f613660fc16b61d9f313e49873ef3e4235f21bb /innobase/btr | |
parent | 59332c86c005227b0e85423a5dcfb594a2738dcf (diff) | |
download | mariadb-git-113c6278516f56f5f4a9356b8ffb234d618e782b.tar.gz |
InnoDB: Cleanup and after review fixes.
innobase/btr/btr0btr.c:
Code formatting: add blank line before "goto", do not indent labels
innobase/btr/btr0cur.c:
Code formatting: add blank line before "goto"
innobase/btr/btr0pcur.c:
btr_pcur_restore_position(): Replace assertion on cursor->pos_state
with if condition, to provide better diagnostics. Restore ut_a()
assertions on cursor->old_rec and cursor->old_n_fields.
innobase/btr/btr0sea.c:
btr_search_check_guess(): Declare prev_rec and next_rec closer
to usage. Add blank lines before goto statements.
Diffstat (limited to 'innobase/btr')
-rw-r--r-- | innobase/btr/btr0btr.c | 6 | ||||
-rw-r--r-- | innobase/btr/btr0cur.c | 1 | ||||
-rw-r--r-- | innobase/btr/btr0pcur.c | 12 | ||||
-rw-r--r-- | innobase/btr/btr0sea.c | 46 |
4 files changed, 35 insertions, 30 deletions
diff --git a/innobase/btr/btr0btr.c b/innobase/btr/btr0btr.c index 6ca0077523f..2d84586216a 100644 --- a/innobase/btr/btr0btr.c +++ b/innobase/btr/btr0btr.c @@ -1160,12 +1160,13 @@ btr_page_get_split_rec_to_right( next_rec = page_rec_get_next(insert_point); if (page_rec_is_supremum(next_rec)) { - split_at_new: +split_at_new: /* Split at the new record to insert */ *split_rec = NULL; } else { rec_t* next_next_rec = page_rec_get_next(next_rec); if (page_rec_is_supremum(next_next_rec)) { + goto split_at_new; } @@ -1274,6 +1275,7 @@ btr_page_get_sure_split_rec( if (rec == ins_rec) { rec = NULL; + goto func_exit; } else if (rec == NULL) { next_rec = page_rec_get_next(ins_rec); @@ -1286,7 +1288,7 @@ btr_page_get_sure_split_rec( } } - func_exit: +func_exit: if (UNIV_LIKELY_NULL(heap)) { mem_heap_free(heap); } diff --git a/innobase/btr/btr0cur.c b/innobase/btr/btr0cur.c index 85d6194055f..98d90ecf18a 100644 --- a/innobase/btr/btr0cur.c +++ b/innobase/btr/btr0cur.c @@ -1381,6 +1381,7 @@ btr_cur_parse_update_in_place( ptr = row_upd_index_parse(ptr, end_ptr, heap, &update); if (!ptr || !page) { + goto func_exit; } diff --git a/innobase/btr/btr0pcur.c b/innobase/btr/btr0pcur.c index 7cc883a6696..cb398b4afab 100644 --- a/innobase/btr/btr0pcur.c +++ b/innobase/btr/btr0pcur.c @@ -205,15 +205,15 @@ btr_pcur_restore_position( ulint old_mode; mem_heap_t* heap; - ut_ad(cursor->pos_state == BTR_PCUR_WAS_POSITIONED - || cursor->pos_state == BTR_PCUR_IS_POSITIONED); - if (UNIV_UNLIKELY(cursor->old_stored != BTR_PCUR_OLD_STORED)) { + if (UNIV_UNLIKELY(cursor->old_stored != BTR_PCUR_OLD_STORED) + || UNIV_UNLIKELY(cursor->pos_state != BTR_PCUR_WAS_POSITIONED + && cursor->pos_state != BTR_PCUR_IS_POSITIONED)) { ut_print_buf(stderr, (const byte*)cursor, sizeof(btr_pcur_t)); if (cursor->trx_if_known) { trx_print(stderr, cursor->trx_if_known); } - ut_a(0); + ut_error; } if (UNIV_UNLIKELY(cursor->rel_pos == BTR_PCUR_AFTER_LAST_IN_TREE @@ -233,8 +233,8 @@ btr_pcur_restore_position( return(FALSE); } - ut_ad(cursor->old_rec); - ut_ad(cursor->old_n_fields); + ut_a(cursor->old_rec); + ut_a(cursor->old_n_fields); page = btr_cur_get_page(btr_pcur_get_btr_cur(cursor)); diff --git a/innobase/btr/btr0sea.c b/innobase/btr/btr0sea.c index 742a02b1de4..f705fee4275 100644 --- a/innobase/btr/btr0sea.c +++ b/innobase/btr/btr0sea.c @@ -545,8 +545,6 @@ btr_search_check_guess( mtr_t* mtr) /* in: mtr */ { rec_t* rec; - rec_t* prev_rec; - rec_t* next_rec; ulint n_unique; ulint match; ulint bytes; @@ -609,6 +607,7 @@ btr_search_check_guess( bytes = 0; if ((mode == PAGE_CUR_G) || (mode == PAGE_CUR_GE)) { + rec_t* prev_rec; ut_ad(!page_rec_is_infimum(rec)); @@ -617,6 +616,7 @@ btr_search_check_guess( if (page_rec_is_infimum(prev_rec)) { success = btr_page_get_prev( buf_frame_align(prev_rec), mtr) == FIL_NULL; + goto exit_func; } @@ -631,32 +631,34 @@ btr_search_check_guess( } goto exit_func; - } - - ut_ad(!page_rec_is_supremum(rec)); + } else { + rec_t* next_rec; + + ut_ad(!page_rec_is_supremum(rec)); - next_rec = page_rec_get_next(rec); + next_rec = page_rec_get_next(rec); - if (page_rec_is_supremum(next_rec)) { - if (btr_page_get_next(buf_frame_align(next_rec), mtr) - == FIL_NULL) { + if (page_rec_is_supremum(next_rec)) { + if (btr_page_get_next( + buf_frame_align(next_rec), mtr) == FIL_NULL) { - cursor->up_match = 0; - success = TRUE; - } + cursor->up_match = 0; + success = TRUE; + } - goto exit_func; - } + goto exit_func; + } - offsets = rec_get_offsets(next_rec, cursor->index, offsets, + offsets = rec_get_offsets(next_rec, cursor->index, offsets, n_unique, &heap); - cmp = page_cmp_dtuple_rec_with_match(tuple, next_rec, - offsets, &match, &bytes); - if (mode == PAGE_CUR_LE) { - success = cmp == -1; - cursor->up_match = match; - } else { - success = cmp != 1; + cmp = page_cmp_dtuple_rec_with_match(tuple, next_rec, + offsets, &match, &bytes); + if (mode == PAGE_CUR_LE) { + success = cmp == -1; + cursor->up_match = match; + } else { + success = cmp != 1; + } } exit_func: if (UNIV_LIKELY_NULL(heap)) { |