summaryrefslogtreecommitdiff
path: root/storage/xtradb/row/row0sel.c
diff options
context:
space:
mode:
Diffstat (limited to 'storage/xtradb/row/row0sel.c')
-rw-r--r--storage/xtradb/row/row0sel.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/storage/xtradb/row/row0sel.c b/storage/xtradb/row/row0sel.c
index 858d50fd5a6..dec192585ce 100644
--- a/storage/xtradb/row/row0sel.c
+++ b/storage/xtradb/row/row0sel.c
@@ -3952,9 +3952,9 @@ release_search_latch_if_needed:
trx->has_search_latch = FALSE;
}
- ut_ad(prebuilt->sql_stat_start || trx->conc_state == TRX_ACTIVE);
- ut_ad(trx->conc_state == TRX_NOT_STARTED
- || trx->conc_state == TRX_ACTIVE);
+ ut_ad(prebuilt->sql_stat_start || trx->state == TRX_ACTIVE);
+ ut_ad(trx->state == TRX_NOT_STARTED
+ || trx->state == TRX_ACTIVE);
ut_ad(prebuilt->sql_stat_start
|| prebuilt->select_lock_type != LOCK_NONE
|| trx->read_view);
@@ -4137,11 +4137,11 @@ rec_loop:
rec = btr_pcur_get_rec(pcur);
- if (srv_pass_corrupt_table && !rec) {
+ SRV_CORRUPT_TABLE_CHECK(rec,
+ {
err = DB_CORRUPTION;
goto lock_wait_or_error;
- }
- ut_a(rec);
+ });
ut_ad(!!page_rec_is_comp(rec) == comp);
#ifdef UNIV_SEARCH_DEBUG
@@ -4278,8 +4278,9 @@ wrong_offs:
offsets = rec_get_offsets(rec, index, offsets, ULINT_UNDEFINED, &heap);
- if (UNIV_UNLIKELY(srv_force_recovery > 0)
- || (srv_pass_corrupt_table == 2 && index->table->is_corrupt)) {
+ if (UNIV_UNLIKELY(srv_force_recovery > 0
+ || (index->table->is_corrupt &&
+ srv_pass_corrupt_table == 2))) {
if (!rec_validate(rec, offsets)
|| !btr_index_rec_validate(rec, index, FALSE)) {
fprintf(stderr,
@@ -5092,8 +5093,10 @@ row_search_check_if_query_cache_permitted(
if (trx->isolation_level >= TRX_ISO_REPEATABLE_READ
&& !trx->read_view) {
- trx->read_view = read_view_open_now(
- trx->id, trx->global_read_view_heap);
+ trx->read_view =
+ read_view_open_now(trx->id,
+ NULL, TRUE);
+
trx->global_read_view = trx->read_view;
}
}