mirror of
https://github.com/MariaDB/server.git
synced 2025-09-02 09:41:40 +03:00
Update to innoplug-1.0.4.
This commit is contained in:
@@ -32,37 +32,7 @@ Created 12/18/1995 Heikki Tuuri
|
||||
#include "fut0lst.h"
|
||||
#include "ut0byte.h"
|
||||
#include "page0types.h"
|
||||
|
||||
/** If records are inserted in order, there are the following
|
||||
flags to tell this (their type is made byte for the compiler
|
||||
to warn if direction and hint parameters are switched in
|
||||
fseg_alloc_free_page): */
|
||||
/* @{ */
|
||||
#define FSP_UP ((byte)111) /*!< alphabetically upwards */
|
||||
#define FSP_DOWN ((byte)112) /*!< alphabetically downwards */
|
||||
#define FSP_NO_DIR ((byte)113) /*!< no order */
|
||||
/* @} */
|
||||
|
||||
/** File space extent size (one megabyte) in pages */
|
||||
#define FSP_EXTENT_SIZE (1 << (20 - UNIV_PAGE_SIZE_SHIFT))
|
||||
|
||||
/** On a page of any file segment, data may be put starting from this
|
||||
offset */
|
||||
#define FSEG_PAGE_DATA FIL_PAGE_DATA
|
||||
|
||||
/** File segment header which points to the inode describing the file
|
||||
segment */
|
||||
/* @{ */
|
||||
/** Data type for file segment header */
|
||||
typedef byte fseg_header_t;
|
||||
|
||||
#define FSEG_HDR_SPACE 0 /*!< space id of the inode */
|
||||
#define FSEG_HDR_PAGE_NO 4 /*!< page number of the inode */
|
||||
#define FSEG_HDR_OFFSET 8 /*!< byte offset of the inode */
|
||||
|
||||
#define FSEG_HEADER_SIZE 10 /*!< Length of the file system
|
||||
header, in bytes */
|
||||
/* @} */
|
||||
#include "fsp0types.h"
|
||||
|
||||
/**********************************************************************//**
|
||||
Initializes the file space system. */
|
||||
@@ -299,20 +269,6 @@ fseg_free_page(
|
||||
ulint space, /*!< in: space id */
|
||||
ulint page, /*!< in: page offset */
|
||||
mtr_t* mtr); /*!< in: mtr handle */
|
||||
/*******************************************************************//**
|
||||
Frees a segment. The freeing is performed in several mini-transactions,
|
||||
so that there is no danger of bufferfixing too many buffer pages. */
|
||||
UNIV_INTERN
|
||||
void
|
||||
fseg_free(
|
||||
/*======*/
|
||||
ulint space, /*!< in: space id */
|
||||
ulint zip_size,/*!< in: compressed page size in bytes
|
||||
or 0 for uncompressed pages */
|
||||
ulint page_no,/*!< in: page number where the segment header is
|
||||
placed */
|
||||
ulint offset);/*!< in: byte offset of the segment header on that
|
||||
page */
|
||||
/**********************************************************************//**
|
||||
Frees part of a segment. This function can be used to free a segment
|
||||
by repeatedly calling this function in different mini-transactions.
|
||||
@@ -374,6 +330,7 @@ void
|
||||
fsp_print(
|
||||
/*======*/
|
||||
ulint space); /*!< in: space id */
|
||||
#ifdef UNIV_DEBUG
|
||||
/*******************************************************************//**
|
||||
Validates a segment.
|
||||
@return TRUE if ok */
|
||||
@@ -382,7 +339,8 @@ ibool
|
||||
fseg_validate(
|
||||
/*==========*/
|
||||
fseg_header_t* header, /*!< in: segment header */
|
||||
mtr_t* mtr2); /*!< in: mtr */
|
||||
mtr_t* mtr); /*!< in: mtr */
|
||||
#endif /* UNIV_DEBUG */
|
||||
#ifdef UNIV_BTR_PRINT
|
||||
/*******************************************************************//**
|
||||
Writes info of a segment. */
|
||||
@@ -394,41 +352,6 @@ fseg_print(
|
||||
mtr_t* mtr); /*!< in: mtr */
|
||||
#endif /* UNIV_BTR_PRINT */
|
||||
|
||||
/* Flags for fsp_reserve_free_extents */
|
||||
#define FSP_NORMAL 1000000
|
||||
#define FSP_UNDO 2000000
|
||||
#define FSP_CLEANING 3000000
|
||||
|
||||
/* Number of pages described in a single descriptor page: currently each page
|
||||
description takes less than 1 byte; a descriptor page is repeated every
|
||||
this many file pages */
|
||||
/* #define XDES_DESCRIBED_PER_PAGE UNIV_PAGE_SIZE */
|
||||
/* This has been replaced with either UNIV_PAGE_SIZE or page_zip->size. */
|
||||
|
||||
/* The space low address page map */
|
||||
/*--------------------------------------*/
|
||||
/* The following two pages are repeated
|
||||
every XDES_DESCRIBED_PER_PAGE pages in
|
||||
every tablespace. */
|
||||
#define FSP_XDES_OFFSET 0 /* extent descriptor */
|
||||
#define FSP_IBUF_BITMAP_OFFSET 1 /* insert buffer bitmap */
|
||||
/* The ibuf bitmap pages are the ones whose
|
||||
page number is the number above plus a
|
||||
multiple of XDES_DESCRIBED_PER_PAGE */
|
||||
|
||||
#define FSP_FIRST_INODE_PAGE_NO 2 /* in every tablespace */
|
||||
/* The following pages exist
|
||||
in the system tablespace (space 0). */
|
||||
#define FSP_IBUF_HEADER_PAGE_NO 3 /* in tablespace 0 */
|
||||
#define FSP_IBUF_TREE_ROOT_PAGE_NO 4 /* in tablespace 0 */
|
||||
/* The ibuf tree root page number in
|
||||
tablespace 0; its fseg inode is on the page
|
||||
number FSP_FIRST_INODE_PAGE_NO */
|
||||
#define FSP_TRX_SYS_PAGE_NO 5 /* in tablespace 0 */
|
||||
#define FSP_FIRST_RSEG_PAGE_NO 6 /* in tablespace 0 */
|
||||
#define FSP_DICT_HDR_PAGE_NO 7 /* in tablespace 0 */
|
||||
/*--------------------------------------*/
|
||||
|
||||
#ifndef UNIV_NONINL
|
||||
#include "fsp0fsp.ic"
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user