diff options
Diffstat (limited to 'storage/xtradb/include/trx0rec.ic')
-rw-r--r-- | storage/xtradb/include/trx0rec.ic | 76 |
1 files changed, 36 insertions, 40 deletions
diff --git a/storage/xtradb/include/trx0rec.ic b/storage/xtradb/include/trx0rec.ic index bfd74eb9dfb..037b5d4f6cf 100644 --- a/storage/xtradb/include/trx0rec.ic +++ b/storage/xtradb/include/trx0rec.ic @@ -16,44 +16,46 @@ Place, Suite 330, Boston, MA 02111-1307 USA *****************************************************************************/ -/****************************************************** +/**************************************************//** +@file include/trx0rec.ic Transaction undo log record Created 3/26/1996 Heikki Tuuri *******************************************************/ -/************************************************************************** -Reads from an undo log record the record type. */ +#ifndef UNIV_HOTBACKUP +/**********************************************************************//** +Reads from an undo log record the record type. +@return record type */ UNIV_INLINE ulint trx_undo_rec_get_type( /*==================*/ - /* out: record type */ - trx_undo_rec_t* undo_rec) /* in: undo log record */ + const trx_undo_rec_t* undo_rec) /*!< in: undo log record */ { return(mach_read_from_1(undo_rec + 2) & (TRX_UNDO_CMPL_INFO_MULT - 1)); } -/************************************************************************** -Reads from an undo log record the record compiler info. */ +/**********************************************************************//** +Reads from an undo log record the record compiler info. +@return compiler info */ UNIV_INLINE ulint trx_undo_rec_get_cmpl_info( /*=======================*/ - /* out: compiler info */ - trx_undo_rec_t* undo_rec) /* in: undo log record */ + const trx_undo_rec_t* undo_rec) /*!< in: undo log record */ { return(mach_read_from_1(undo_rec + 2) / TRX_UNDO_CMPL_INFO_MULT); } -/************************************************************************** -Returns TRUE if an undo log record contains an extern storage field. */ +/**********************************************************************//** +Returns TRUE if an undo log record contains an extern storage field. +@return TRUE if extern */ UNIV_INLINE ibool trx_undo_rec_get_extern_storage( /*============================*/ - /* out: TRUE if extern */ - trx_undo_rec_t* undo_rec) /* in: undo log record */ + const trx_undo_rec_t* undo_rec) /*!< in: undo log record */ { if (mach_read_from_1(undo_rec + 2) & TRX_UNDO_UPD_EXTERN) { @@ -63,54 +65,48 @@ trx_undo_rec_get_extern_storage( return(FALSE); } -/************************************************************************** -Reads the undo log record number. */ +/**********************************************************************//** +Reads the undo log record number. +@return undo no */ UNIV_INLINE -dulint +undo_no_t trx_undo_rec_get_undo_no( /*=====================*/ - /* out: undo no */ - trx_undo_rec_t* undo_rec) /* in: undo log record */ + const trx_undo_rec_t* undo_rec) /*!< in: undo log record */ { - byte* ptr; + const byte* ptr; ptr = undo_rec + 3; return(mach_dulint_read_much_compressed(ptr)); } -/************************************************************************** -Returns the start of the undo record data area. */ +/**********************************************************************//** +Returns the start of the undo record data area. +@return offset to the data area */ UNIV_INLINE -byte* -trx_undo_rec_get_ptr( -/*=================*/ - /* out: compiler info */ - trx_undo_rec_t* undo_rec, /* in: undo log record */ - dulint undo_no) /* in: undo no read from node */ +ulint +trx_undo_rec_get_offset( +/*====================*/ + undo_no_t undo_no) /*!< in: undo no read from node */ { - return (((byte*) undo_rec) + 3 - + mach_dulint_get_much_compressed_size(undo_no)); + return (3 + mach_dulint_get_much_compressed_size(undo_no)); } -/*************************************************************************** -Copies the undo record to the heap. */ +/***********************************************************************//** +Copies the undo record to the heap. +@return own: copy of undo log record */ UNIV_INLINE trx_undo_rec_t* trx_undo_rec_copy( /*==============*/ - /* out, own: copy of undo log record */ - trx_undo_rec_t* undo_rec, /* in: undo log record */ - mem_heap_t* heap) /* in: heap where copied */ + trx_undo_rec_t* undo_rec, /*!< in: undo log record */ + mem_heap_t* heap) /*!< in: heap where copied */ { ulint len; - trx_undo_rec_t* rec_copy; len = mach_read_from_2(undo_rec) - ut_align_offset(undo_rec, UNIV_PAGE_SIZE); - rec_copy = mem_heap_alloc(heap, len); - - ut_memcpy(rec_copy, undo_rec, len); - - return(rec_copy); + return(mem_heap_dup(heap, undo_rec, len)); } +#endif /* !UNIV_HOTBACKUP */ |