Commit 08e4d3fe authored by Marko Mäkelä's avatar Marko Mäkelä

row_purge_parse_undo_rec(): Properly parse TRX_UNDO_INSERT_DEFAULT

parent e3ae2b16
...@@ -326,6 +326,9 @@ record */ ...@@ -326,6 +326,9 @@ record */
storage fields: used by purge to storage fields: used by purge to
free the external storage */ free the external storage */
/** The search tuple corresponding to TRX_UNDO_INSERT_DEFAULT */
extern const dtuple_t trx_undo_default_rec;
#include "trx0rec.ic" #include "trx0rec.ic"
#endif /* trx0rec_h */ #endif /* trx0rec_h */
...@@ -981,12 +981,15 @@ row_purge_parse_undo_rec( ...@@ -981,12 +981,15 @@ row_purge_parse_undo_rec(
return(false); return(false);
} }
if (type == TRX_UNDO_INSERT_DEFAULT) {
node->ref = &trx_undo_default_rec;
return(true);
}
ptr = trx_undo_rec_get_row_ref(ptr, clust_index, &(node->ref), ptr = trx_undo_rec_get_row_ref(ptr, clust_index, &(node->ref),
node->heap); node->heap);
switch (type) { if (type == TRX_UNDO_INSERT_REC) {
case TRX_UNDO_INSERT_DEFAULT:
case TRX_UNDO_INSERT_REC:
return(true); return(true);
} }
......
...@@ -452,15 +452,7 @@ row_undo_ins_parse_undo_rec( ...@@ -452,15 +452,7 @@ row_undo_ins_parse_undo_rec(
node->heap); node->heap);
} else { } else {
ut_ad(type == TRX_UNDO_INSERT_DEFAULT); ut_ad(type == TRX_UNDO_INSERT_DEFAULT);
static const dtuple_t min_rec = { node->ref = &trx_undo_default_rec;
REC_INFO_DEFAULT_ROW, 0, 0,
NULL, 0, NULL,
UT_LIST_NODE_T(dtuple_t)()
#ifdef UNIV_DEBUG
, DATA_TUPLE_MAGIC_N
#endif /* UNIV_DEBUG */
};
node->ref = &min_rec;
} }
if (!row_undo_search_clust_to_pcur(node)) { if (!row_undo_search_clust_to_pcur(node)) {
......
...@@ -41,6 +41,16 @@ Created 3/26/1996 Heikki Tuuri ...@@ -41,6 +41,16 @@ Created 3/26/1996 Heikki Tuuri
#include "fsp0sysspace.h" #include "fsp0sysspace.h"
#include "row0mysql.h" #include "row0mysql.h"
/** The search tuple corresponding to TRX_UNDO_INSERT_DEFAULT */
const dtuple_t trx_undo_default_rec = {
REC_INFO_DEFAULT_ROW, 0, 0,
NULL, 0, NULL,
UT_LIST_NODE_T(dtuple_t)()
#ifdef UNIV_DEBUG
, DATA_TUPLE_MAGIC_N
#endif /* UNIV_DEBUG */
};
/*=========== UNDO LOG RECORD CREATION AND DECODING ====================*/ /*=========== UNDO LOG RECORD CREATION AND DECODING ====================*/
/**********************************************************************//** /**********************************************************************//**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment