summaryrefslogtreecommitdiff
path: root/log/log0recv.c
diff options
context:
space:
mode:
authorSergei Golubchik <sergii@pisem.net>2013-03-08 13:13:46 +0100
committerSergei Golubchik <sergii@pisem.net>2013-03-08 13:13:46 +0100
commit086b54c281eaf5470b0424d926492d7ee25e4916 (patch)
treeb8579c45db9b3085b9204bd00490466d5bea6845 /log/log0recv.c
parenta9f12c27c3b260f79ff0d28df8d2006ebea84b3a (diff)
downloadmariadb-git-086b54c281eaf5470b0424d926492d7ee25e4916.tar.gz
Percona-Server-5.5.30-rel30.1.tar.gz
Diffstat (limited to 'log/log0recv.c')
-rw-r--r--log/log0recv.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/log/log0recv.c b/log/log0recv.c
index d07a9d45c06..b1d1d4c3273 100644
--- a/log/log0recv.c
+++ b/log/log0recv.c
@@ -987,8 +987,11 @@ recv_parse_or_apply_log_rec_body(
not NULL, then the log record is
applied to the page, and the log
record should be complete then */
- mtr_t* mtr) /*!< in: mtr or NULL; should be non-NULL
+ mtr_t* mtr, /*!< in: mtr or NULL; should be non-NULL
if and only if block is non-NULL */
+ ulint space_id)
+ /*!< in: tablespace id obtained by
+ parsing initial log record */
{
dict_index_t* index = NULL;
page_t* page;
@@ -1260,8 +1263,11 @@ recv_parse_or_apply_log_rec_body(
ut_ad(!page || page_type != FIL_PAGE_TYPE_ALLOCATED);
ptr = mlog_parse_string(ptr, end_ptr, page, page_zip);
break;
- case MLOG_FILE_CREATE:
case MLOG_FILE_RENAME:
+ ptr = fil_op_log_parse_or_replay(ptr, end_ptr, type,
+ space_id, 0);
+ break;
+ case MLOG_FILE_CREATE:
case MLOG_FILE_DELETE:
case MLOG_FILE_CREATE2:
ptr = fil_op_log_parse_or_replay(ptr, end_ptr, type, 0, 0);
@@ -1665,7 +1671,8 @@ recv_recover_page_func(
recv_parse_or_apply_log_rec_body(recv->type, buf,
buf + recv->len,
- block, &mtr);
+ block, &mtr,
+ recv_addr->space);
if (srv_recovery_stats) {
mutex_enter(&(recv_sys->mutex));
@@ -2150,7 +2157,7 @@ recv_parse_log_rec(
#endif /* UNIV_LOG_LSN_DEBUG */
new_ptr = recv_parse_or_apply_log_rec_body(*type, new_ptr, end_ptr,
- NULL, NULL);
+ NULL, NULL, *space);
if (UNIV_UNLIKELY(new_ptr == NULL)) {
return(0);