⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 page0page.h

📁 这是linux下运行的mysql软件包,可用于linux 下安装 php + mysql + apach 的网络配置
💻 H
📖 第 1 页 / 共 2 页
字号:
page_rec_set_next(/*==============*/	rec_t*	rec,	/* in: pointer to record, must not be			page supremum */	rec_t*	next);	/* in: pointer to next record, must not			be page infimum *//****************************************************************Gets the pointer to the previous record. */UNIV_INLINErec_t*page_rec_get_prev(/*==============*/				/* out: pointer to previous record */	rec_t*		rec);	/* in: pointer to record,				must not be page infimum *//****************************************************************TRUE if the record is a user record on the page. */UNIV_INLINEiboolpage_rec_is_user_rec_low(/*=====================*/			/* out: TRUE if a user record */	ulint	offset);/* in: record offset on page *//****************************************************************TRUE if the record is the supremum record on a page. */UNIV_INLINEiboolpage_rec_is_supremum_low(/*=====================*/			/* out: TRUE if the supremum record */	ulint	offset);/* in: record offset on page *//****************************************************************TRUE if the record is the infimum record on a page. */UNIV_INLINEiboolpage_rec_is_infimum_low(/*=====================*/			/* out: TRUE if the infimum record */	ulint	offset);/* in: record offset on page *//****************************************************************TRUE if the record is a user record on the page. */UNIV_INLINEiboolpage_rec_is_user_rec(/*=================*/				/* out: TRUE if a user record */	const rec_t*	rec);	/* in: record *//****************************************************************TRUE if the record is the supremum record on a page. */UNIV_INLINEiboolpage_rec_is_supremum(/*=================*/				/* out: TRUE if the supremum record */	const rec_t*	rec);	/* in: record *//****************************************************************TRUE if the record is the infimum record on a page. */UNIV_INLINEiboolpage_rec_is_infimum(/*================*/				/* out: TRUE if the infimum record */	const rec_t*	rec);	/* in: record *//*******************************************************************Looks for the record which owns the given record. */UNIV_INLINErec_t*page_rec_find_owner_rec(/*====================*/			/* out: the owner record */	rec_t*	rec);	/* in: the physical record *//***************************************************************************This is a low-level operation which is used in a database index creationto update the page number of a created B-tree to a data dictionaryrecord. */voidpage_rec_write_index_page_no(/*=========================*/	rec_t*	rec,	/* in: record to update */	ulint	i,	/* in: index of the field to update */	ulint	page_no,/* in: value to write */	mtr_t*	mtr);	/* in: mtr *//****************************************************************Returns the maximum combined size of records which can be inserted on topof record heap. */UNIV_INLINEulintpage_get_max_insert_size(/*=====================*/			/* out: maximum combined size for inserted records */	page_t*	page,	/* in: index page */	ulint	n_recs);	/* in: number of records *//****************************************************************Returns the maximum combined size of records which can be inserted on topof record heap if page is first reorganized. */UNIV_INLINEulintpage_get_max_insert_size_after_reorganize(/*======================================*/			/* out: maximum combined size for inserted records */	page_t*	page,	/* in: index page */	ulint	n_recs);/* in: number of records *//*****************************************************************Calculates free space if a page is emptied. */UNIV_INLINEulintpage_get_free_space_of_empty(/*=========================*/			/* out: free space */	ulint	comp)	/* in: nonzero=compact page format */		__attribute__((const));/****************************************************************Returns the sum of the sizes of the records in the record listexcluding the infimum and supremum records. */UNIV_INLINEulintpage_get_data_size(/*===============*/			/* out: data in bytes */	page_t*	page);	/* in: index page *//****************************************************************Allocates a block of memory from an index page. */byte*page_mem_alloc(/*===========*/				/* out: pointer to start of allocated				buffer, or NULL if allocation fails */	page_t*		page,	/* in: index page */	ulint		need,	/* in: number of bytes needed */	dict_index_t*	index,	/* in: record descriptor */	ulint*		heap_no);/* out: this contains the heap number				of the allocated record				if allocation succeeds *//****************************************************************Puts a record to free list. */UNIV_INLINEvoidpage_mem_free(/*==========*/	page_t*		page,	/* in: index page */	rec_t*		rec,	/* in: pointer to the (origin of) record */	const ulint*	offsets);/* in: array returned by rec_get_offsets() *//**************************************************************The index page creation function. */page_t* page_create(/*========*/					/* out: pointer to the page */	buf_frame_t*	frame,		/* in: a buffer frame where the page is					created */	mtr_t*		mtr,		/* in: mini-transaction handle */	ulint		comp);		/* in: nonzero=compact page format *//*****************************************************************Differs from page_copy_rec_list_end, because this function does nottouch the lock table and max trx id on page. */voidpage_copy_rec_list_end_no_locks(/*============================*/	page_t*		new_page,	/* in: index page to copy to */	page_t*		page,		/* in: index page */	rec_t*		rec,		/* in: record on page */	dict_index_t*	index,		/* in: record descriptor */	mtr_t*		mtr);		/* in: mtr *//*****************************************************************Copies records from page to new_page, from the given record onward,including that record. Infimum and supremum records are not copied.The records are copied to the start of the record list on new_page. */voidpage_copy_rec_list_end(/*===================*/	page_t*		new_page,	/* in: index page to copy to */	page_t*		page,		/* in: index page */	rec_t*		rec,		/* in: record on page */	dict_index_t*	index,		/* in: record descriptor */	mtr_t*		mtr);		/* in: mtr *//*****************************************************************Copies records from page to new_page, up to the given record, NOTincluding that record. Infimum and supremum records are not copied.The records are copied to the end of the record list on new_page. */voidpage_copy_rec_list_start(/*=====================*/	page_t*		new_page,	/* in: index page to copy to */	page_t*		page,		/* in: index page */	rec_t*		rec,		/* in: record on page */	dict_index_t*	index,		/* in: record descriptor */	mtr_t*		mtr);		/* in: mtr *//*****************************************************************Deletes records from a page from a given record onward, including that record.The infimum and supremum records are not deleted. */voidpage_delete_rec_list_end(/*=====================*/	page_t*		page,	/* in: index page */	rec_t*		rec,	/* in: record on page */	dict_index_t*	index,	/* in: record descriptor */	ulint		n_recs,	/* in: number of records to delete,				or ULINT_UNDEFINED if not known */	ulint		size,	/* in: the sum of the sizes of the				records in the end of the chain to				delete, or ULINT_UNDEFINED if not known */	mtr_t*		mtr);	/* in: mtr *//*****************************************************************Deletes records from page, up to the given record, NOT includingthat record. Infimum and supremum records are not deleted. */voidpage_delete_rec_list_start(/*=======================*/	page_t*		page,	/* in: index page */	rec_t*		rec,	/* in: record on page */	dict_index_t*	index,	/* in: record descriptor */	mtr_t*		mtr);	/* in: mtr *//*****************************************************************Moves record list end to another page. Moved records includesplit_rec. */voidpage_move_rec_list_end(/*===================*/	page_t*		new_page,	/* in: index page where to move */	page_t*		page,		/* in: index page */	rec_t*		split_rec,	/* in: first record to move */	dict_index_t*	index,		/* in: record descriptor */	mtr_t*		mtr);		/* in: mtr *//*****************************************************************Moves record list start to another page. Moved records do not includesplit_rec. */voidpage_move_rec_list_start(/*=====================*/	page_t*		new_page,	/* in: index page where to move */	page_t*		page,		/* in: index page */	rec_t*		split_rec,	/* in: first record not to move */	dict_index_t*	index,		/* in: record descriptor */	mtr_t*		mtr);		/* in: mtr *//********************************************************************Splits a directory slot which owns too many records. */voidpage_dir_split_slot(/*================*/	page_t*	page, 		/* in: the index page in question */	ulint	slot_no); 	/* in: the directory slot *//*****************************************************************Tries to balance the given directory slot with too few recordswith the upper neighbor, so that there are at least the minimum number of records owned by the slot; this may result in the merging of two slots. */voidpage_dir_balance_slot(/*==================*/	page_t*	page,		/* in: index page */	ulint	slot_no); 	/* in: the directory slot *//**************************************************************Parses a log record of a record list end or start deletion. */byte*page_parse_delete_rec_list(/*=======================*/				/* out: end of log record or NULL */	byte		type,	/* in: MLOG_LIST_END_DELETE,				MLOG_LIST_START_DELETE,				MLOG_COMP_LIST_END_DELETE or				MLOG_COMP_LIST_START_DELETE */	byte*		ptr,	/* in: buffer */	byte*		end_ptr,/* in: buffer end */	dict_index_t*	index,	/* in: record descriptor */	page_t*		page,	/* in: page or NULL */	mtr_t*		mtr);	/* in: mtr or NULL *//***************************************************************Parses a redo log record of creating a page. */byte*page_parse_create(/*==============*/			/* out: end of log record or NULL */	byte*	ptr,	/* in: buffer */	byte*	end_ptr,/* in: buffer end */	ulint	comp,	/* in: nonzero=compact page format */	page_t*	page,	/* in: page or NULL */	mtr_t*	mtr);	/* in: mtr or NULL *//****************************************************************Prints record contents including the data relevant only inthe index page context. */ voidpage_rec_print(/*===========*/	rec_t*		rec,	/* in: physical record */	const ulint*	offsets);/* in: record descriptor *//*******************************************************************This is used to print the contents of the directory fordebugging purposes. */voidpage_dir_print(/*===========*/	page_t*	page,	/* in: index page */	ulint	pr_n);	/* in: print n first and n last entries *//*******************************************************************This is used to print the contents of the page record list fordebugging purposes. */voidpage_print_list(/*============*/	page_t*		page,	/* in: index page */	dict_index_t*	index,	/* in: dictionary index of the page */	ulint		pr_n);	/* in: print n first and n last entries *//*******************************************************************Prints the info in a page header. */voidpage_header_print(/*==============*/	page_t*	page);/*******************************************************************This is used to print the contents of the page fordebugging purposes. */voidpage_print(/*======*/	page_t*		page,	/* in: index page */	dict_index_t*	index,	/* in: dictionary index of the page */	ulint		dn,	/* in: print dn first and last entries				in directory */	ulint		rn);	/* in: print rn first and last records				in directory *//*******************************************************************The following is used to validate a record on a page. This functiondiffers from rec_validate as it can also check the n_owned field andthe heap_no field. */iboolpage_rec_validate(/*==============*/				/* out: TRUE if ok */	rec_t*		rec,	/* in: physical record */	const ulint*	offsets);/* in: array returned by rec_get_offsets() *//*******************************************************************Checks that the first directory slot points to the infimum record andthe last to the supremum. This function is intended to track if thebug fixed in 4.0.14 has caused corruption to users' databases. */voidpage_check_dir(/*===========*/	page_t*	page);	/* in: index page *//*******************************************************************This function checks the consistency of an index page when we do notknow the index. This is also resilient so that this should never crasheven if the page is total garbage. */iboolpage_simple_validate(/*=================*/			/* out: TRUE if ok */	page_t*	page);	/* in: index page *//*******************************************************************This function checks the consistency of an index page. */iboolpage_validate(/*==========*/				/* out: TRUE if ok */	page_t*		page,	/* in: index page */	dict_index_t*	index);	/* in: data dictionary index containing				the page record type definition *//*******************************************************************Looks in the page record list for a record with the given heap number. */rec_t*page_find_rec_with_heap_no(/*=======================*/			/* out: record, NULL if not found */	page_t*	page,	/* in: index page */	ulint	heap_no);/* in: heap number */#ifdef UNIV_MATERIALIZE#undef UNIV_INLINE#define UNIV_INLINE  UNIV_INLINE_ORIGINAL#endif#ifndef UNIV_NONINL#include "page0page.ic"#endif#endif 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -