summaryrefslogtreecommitdiff
path: root/storage/innobase/include/log0recv.h
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2020-02-13 19:13:45 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2020-02-13 19:13:45 +0200
commitf8a9f906679e1d1ab026c245f7d24c652050d8b3 (patch)
treecb6f6eb922e7af2a139fca3cd8f5292375179c7c /storage/innobase/include/log0recv.h
parent7ae21b18a6b73bbc3bf1ff448faf60c29ac1d386 (diff)
downloadmariadb-git-f8a9f906679e1d1ab026c245f7d24c652050d8b3.tar.gz
MDEV-12353: Remove support for crash-upgradebb-10.5-MDEV-12353
We tighten some assertions regarding dict_index_t::is_dummy and crash recovery, now that redo log processing will no longer create dummy objects.
Diffstat (limited to 'storage/innobase/include/log0recv.h')
-rw-r--r--storage/innobase/include/log0recv.h65
1 files changed, 22 insertions, 43 deletions
diff --git a/storage/innobase/include/log0recv.h b/storage/innobase/include/log0recv.h
index 90b6cfe69d8..be387e18e3a 100644
--- a/storage/innobase/include/log0recv.h
+++ b/storage/innobase/include/log0recv.h
@@ -99,15 +99,6 @@ recv_sys.parse_start_lsn is non-zero.
@return true if more data added */
bool recv_sys_add_to_parsing_buf(const byte* log_block, lsn_t scanned_lsn);
-/** Parse log records from a buffer and optionally store them to recv_sys.pages
-to wait merging to file pages.
-@param[in] checkpoint_lsn the LSN of the latest checkpoint
-@param[in] store whether to store page operations
-@param[in] apply whether to apply the records
-@return whether MLOG_CHECKPOINT or FILE_CHECKPOINT record
-was seen the first time, or corruption was noticed */
-bool recv_parse_log_recs(lsn_t checkpoint_lsn, store_t *store, bool apply);
-
/** Moves the parsing buffer data left to the buffer start */
void recv_sys_justify_left_parsing_buf();
@@ -276,7 +267,7 @@ struct recv_sys_t{
the file system contents is detected
during log scan or apply */
lsn_t mlog_checkpoint_lsn;
- /*!< the LSN of a MLOG_CHECKPOINT
+ /*!< the LSN of a FILE_CHECKPOINT
record, or 0 if none was parsed */
/** the time when progress was last reported */
time_t progress_time;
@@ -328,27 +319,16 @@ public:
/** whether all redo log in the current batch has been applied */
bool after_apply= false;
#endif
- /** Initialize the redo log recovery subsystem. */
- void create();
-
- /** Free most recovery data structures. */
- void debug_free();
+ /** Initialize the redo log recovery subsystem. */
+ void create();
- /** Clean up after create() */
- void close();
+ /** Free most recovery data structures. */
+ void debug_free();
- bool is_initialised() const { return buf_size != 0; }
+ /** Clean up after create() */
+ void close();
- /** Store a redo log record for applying.
- @param type record type
- @param page_id page identifier
- @param body record body
- @param rec_end end of record
- @param lsn start LSN of the mini-transaction
- @param end_lsn end LSN of the mini-transaction */
- inline void add(mlog_id_t type, const page_id_t page_id,
- const byte* body, const byte* rec_end, lsn_t lsn,
- lsn_t end_lsn);
+ bool is_initialised() const { return buf_size != 0; }
/** Register a redo log snippet for a page.
@param page_id page identifier
@@ -365,24 +345,23 @@ public:
@param apply whether to apply file-level log records
@return whether FILE_CHECKPOINT record was seen the first time,
or corruption was noticed */
- inline bool parse(lsn_t checkpoint_lsn, store_t store, bool apply);
+ bool parse(lsn_t checkpoint_lsn, store_t store, bool apply);
/** Clear a fully processed set of stored redo log records. */
inline void clear();
- /** Determine whether redo log recovery progress should be reported.
- @param[in] time the current time
- @return whether progress should be reported
- (the last report was at least 15 seconds ago) */
- bool report(time_t time)
- {
- if (time - progress_time < 15) {
- return false;
- }
-
- progress_time = time;
- return true;
- }
+ /** Determine whether redo log recovery progress should be reported.
+ @param time the current time
+ @return whether progress should be reported
+ (the last report was at least 15 seconds ago) */
+ bool report(time_t time)
+ {
+ if (time - progress_time < 15)
+ return false;
+
+ progress_time= time;
+ return true;
+ }
/** The alloc() memory alignment, in bytes */
static constexpr size_t ALIGNMENT= sizeof(size_t);
@@ -390,7 +369,7 @@ public:
/** Allocate memory for log_rec_t
@param len allocation size, in bytes
@return pointer to len bytes of memory (never NULL) */
- inline void *alloc(size_t len, bool store_recv= false);
+ inline void *alloc(size_t len);
/** Free a redo log snippet.
@param data buffer returned by alloc() */