summaryrefslogtreecommitdiff
path: root/storage/innobase/log/log0recv.cc
diff options
context:
space:
mode:
Diffstat (limited to 'storage/innobase/log/log0recv.cc')
-rw-r--r--storage/innobase/log/log0recv.cc33
1 files changed, 7 insertions, 26 deletions
diff --git a/storage/innobase/log/log0recv.cc b/storage/innobase/log/log0recv.cc
index 76ed715e8d8..26f747a5037 100644
--- a/storage/innobase/log/log0recv.cc
+++ b/storage/innobase/log/log0recv.cc
@@ -25,7 +25,7 @@ Recovery
Created 9/20/1997 Heikki Tuuri
*******************************************************/
-#include "ha_prototypes.h"
+#include "univ.i"
#include <vector>
#include <map>
@@ -52,8 +52,6 @@ Created 9/20/1997 Heikki Tuuri
#include "trx0undo.h"
#include "trx0rec.h"
#include "fil0fil.h"
-#include "fsp0sysspace.h"
-#include "ut0new.h"
#include "buf0rea.h"
#include "srv0srv.h"
#include "srv0start.h"
@@ -229,9 +227,8 @@ static void recv_addr_trim(ulint space_id, unsigned pages, lsn_t lsn)
hash_cell_t* const cell = hash_get_nth_cell(
recv_sys->addr_hash, i);
for (recv_addr_t* addr = static_cast<recv_addr_t*>(cell->node),
- *prev = NULL, *next;
- addr;
- prev = addr, addr = next) {
+ *next;
+ addr; addr = next) {
next = static_cast<recv_addr_t*>(addr->addr_hash);
if (addr->space != space_id || addr->page_no < pages) {
@@ -253,22 +250,6 @@ static void recv_addr_trim(ulint space_id, unsigned pages, lsn_t lsn)
}
recv = n;
}
-
- if (UT_LIST_GET_LEN(addr->rec_list)) {
- DBUG_PRINT("ib_log",
- ("preserving " ULINTPF
- " records for page %u:%u",
- UT_LIST_GET_LEN(addr->rec_list),
- addr->space, addr->page_no));
- } else {
- ut_ad(recv_sys->n_addrs);
- --recv_sys->n_addrs;
- if (addr == cell->node) {
- cell->node = next;
- } else {
- prev->addr_hash = next;
- }
- }
}
}
if (fil_space_t* space = fil_space_get(space_id)) {
@@ -1944,7 +1925,7 @@ recv_recover_page(bool just_read_in, buf_block_t* block)
if (start_lsn) {
log_flush_order_mutex_enter();
- buf_flush_recv_note_modification(block, start_lsn, end_lsn);
+ buf_flush_note_modification(block, start_lsn, end_lsn, NULL);
log_flush_order_mutex_exit();
}
@@ -2024,8 +2005,7 @@ static ulint recv_read_in_area(const page_id_t page_id)
/** Apply the hash table of stored log records to persistent data pages.
@param[in] last_batch whether the change buffer merge will be
performed as part of the operation */
-void
-recv_apply_hashed_log_recs(bool last_batch)
+void recv_apply_hashed_log_recs(bool last_batch)
{
ut_ad(srv_operation == SRV_OPERATION_NORMAL
|| srv_operation == SRV_OPERATION_RESTORE
@@ -2090,7 +2070,8 @@ recv_apply_hashed_log_recs(bool last_batch)
recv_addr = static_cast<recv_addr_t*>(
HASH_GET_NEXT(addr_hash, recv_addr))) {
- if (recv_addr->state == RECV_DISCARDED) {
+ if (recv_addr->state == RECV_DISCARDED
+ || !UT_LIST_GET_LEN(recv_addr->rec_list)) {
ut_a(recv_sys->n_addrs);
recv_sys->n_addrs--;
continue;