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

📄 rec_btree

📁 介绍:MySQL是比较出名的数据库软件
💻
📖 第 1 页 / 共 2 页
字号:
	if ((ret = memp_fget(mpf, &argp->pgno, 0, &pagep)) != 0)		if (DB_REDO(op)) {			if ((ret = memp_fget(mpf,			    &argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)				goto out;		} else {			*lsnp = argp->prev_lsn;			ret = 0;			goto out;		}	modified = 0;	cmp_n = log_compare(lsnp, &LSN(pagep));	/*	 * Use this when there is something like "pagelsn" in the argp	 * structure.  Sometimes, you might need to compare meta-data	 * lsn's instead.	 *	 * cmp_p = log_compare(&LSN(pagep), argp->pagelsn);	 */	if (cmp_p == 0 && DB_REDO(op)) {		/* Need to redo update described. */		modified = 1;	} else if (cmp_n == 0 && !DB_REDO(op)) {		/* Need to undo update described. */		modified = 1;	}	if (ret = memp_fput(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))		goto out;	*lsnp = argp->prev_lsn;	ret = 0;out:	REC_CLOSE;}/* * __bam_adj_recover -- *	Recovery function for adj. * * PUBLIC: int __bam_adj_recover * PUBLIC:   __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *)); */int__bam_adj_recover(dbenv, dbtp, lsnp, op, info)	DB_ENV *dbenv;	DBT *dbtp;	DB_LSN *lsnp;	db_recops op;	void *info;{	__bam_adj_args *argp;	DB *file_dbp;	DBC *dbc;	DB_MPOOLFILE *mpf;	PAGE *pagep;	int cmp_n, cmp_p, modified, ret;	REC_PRINT(__bam_adj_print);	REC_INTRO(__bam_adj_read);	if ((ret = memp_fget(mpf, &argp->pgno, 0, &pagep)) != 0)		if (DB_REDO(op)) {			if ((ret = memp_fget(mpf,			    &argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)				goto out;		} else {			*lsnp = argp->prev_lsn;			ret = 0;			goto out;		}	modified = 0;	cmp_n = log_compare(lsnp, &LSN(pagep));	/*	 * Use this when there is something like "pagelsn" in the argp	 * structure.  Sometimes, you might need to compare meta-data	 * lsn's instead.	 *	 * cmp_p = log_compare(&LSN(pagep), argp->pagelsn);	 */	if (cmp_p == 0 && DB_REDO(op)) {		/* Need to redo update described. */		modified = 1;	} else if (cmp_n == 0 && !DB_REDO(op)) {		/* Need to undo update described. */		modified = 1;	}	if (ret = memp_fput(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))		goto out;	*lsnp = argp->prev_lsn;	ret = 0;out:	REC_CLOSE;}/* * __bam_cadjust_recover -- *	Recovery function for cadjust. * * PUBLIC: int __bam_cadjust_recover * PUBLIC:   __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *)); */int__bam_cadjust_recover(dbenv, dbtp, lsnp, op, info)	DB_ENV *dbenv;	DBT *dbtp;	DB_LSN *lsnp;	db_recops op;	void *info;{	__bam_cadjust_args *argp;	DB *file_dbp;	DBC *dbc;	DB_MPOOLFILE *mpf;	PAGE *pagep;	int cmp_n, cmp_p, modified, ret;	REC_PRINT(__bam_cadjust_print);	REC_INTRO(__bam_cadjust_read);	if ((ret = memp_fget(mpf, &argp->pgno, 0, &pagep)) != 0)		if (DB_REDO(op)) {			if ((ret = memp_fget(mpf,			    &argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)				goto out;		} else {			*lsnp = argp->prev_lsn;			ret = 0;			goto out;		}	modified = 0;	cmp_n = log_compare(lsnp, &LSN(pagep));	/*	 * Use this when there is something like "pagelsn" in the argp	 * structure.  Sometimes, you might need to compare meta-data	 * lsn's instead.	 *	 * cmp_p = log_compare(&LSN(pagep), argp->pagelsn);	 */	if (cmp_p == 0 && DB_REDO(op)) {		/* Need to redo update described. */		modified = 1;	} else if (cmp_n == 0 && !DB_REDO(op)) {		/* Need to undo update described. */		modified = 1;	}	if (ret = memp_fput(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))		goto out;	*lsnp = argp->prev_lsn;	ret = 0;out:	REC_CLOSE;}/* * __bam_cdel_recover -- *	Recovery function for cdel. * * PUBLIC: int __bam_cdel_recover * PUBLIC:   __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *)); */int__bam_cdel_recover(dbenv, dbtp, lsnp, op, info)	DB_ENV *dbenv;	DBT *dbtp;	DB_LSN *lsnp;	db_recops op;	void *info;{	__bam_cdel_args *argp;	DB *file_dbp;	DBC *dbc;	DB_MPOOLFILE *mpf;	PAGE *pagep;	int cmp_n, cmp_p, modified, ret;	REC_PRINT(__bam_cdel_print);	REC_INTRO(__bam_cdel_read);	if ((ret = memp_fget(mpf, &argp->pgno, 0, &pagep)) != 0)		if (DB_REDO(op)) {			if ((ret = memp_fget(mpf,			    &argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)				goto out;		} else {			*lsnp = argp->prev_lsn;			ret = 0;			goto out;		}	modified = 0;	cmp_n = log_compare(lsnp, &LSN(pagep));	/*	 * Use this when there is something like "pagelsn" in the argp	 * structure.  Sometimes, you might need to compare meta-data	 * lsn's instead.	 *	 * cmp_p = log_compare(&LSN(pagep), argp->pagelsn);	 */	if (cmp_p == 0 && DB_REDO(op)) {		/* Need to redo update described. */		modified = 1;	} else if (cmp_n == 0 && !DB_REDO(op)) {		/* Need to undo update described. */		modified = 1;	}	if (ret = memp_fput(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))		goto out;	*lsnp = argp->prev_lsn;	ret = 0;out:	REC_CLOSE;}/* * __bam_repl_recover -- *	Recovery function for repl. * * PUBLIC: int __bam_repl_recover * PUBLIC:   __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *)); */int__bam_repl_recover(dbenv, dbtp, lsnp, op, info)	DB_ENV *dbenv;	DBT *dbtp;	DB_LSN *lsnp;	db_recops op;	void *info;{	__bam_repl_args *argp;	DB *file_dbp;	DBC *dbc;	DB_MPOOLFILE *mpf;	PAGE *pagep;	int cmp_n, cmp_p, modified, ret;	REC_PRINT(__bam_repl_print);	REC_INTRO(__bam_repl_read);	if ((ret = memp_fget(mpf, &argp->pgno, 0, &pagep)) != 0)		if (DB_REDO(op)) {			if ((ret = memp_fget(mpf,			    &argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)				goto out;		} else {			*lsnp = argp->prev_lsn;			ret = 0;			goto out;		}	modified = 0;	cmp_n = log_compare(lsnp, &LSN(pagep));	/*	 * Use this when there is something like "pagelsn" in the argp	 * structure.  Sometimes, you might need to compare meta-data	 * lsn's instead.	 *	 * cmp_p = log_compare(&LSN(pagep), argp->pagelsn);	 */	if (cmp_p == 0 && DB_REDO(op)) {		/* Need to redo update described. */		modified = 1;	} else if (cmp_n == 0 && !DB_REDO(op)) {		/* Need to undo update described. */		modified = 1;	}	if (ret = memp_fput(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))		goto out;	*lsnp = argp->prev_lsn;	ret = 0;out:	REC_CLOSE;}/* * __bam_root_recover -- *	Recovery function for root. * * PUBLIC: int __bam_root_recover * PUBLIC:   __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *)); */int__bam_root_recover(dbenv, dbtp, lsnp, op, info)	DB_ENV *dbenv;	DBT *dbtp;	DB_LSN *lsnp;	db_recops op;	void *info;{	__bam_root_args *argp;	DB *file_dbp;	DBC *dbc;	DB_MPOOLFILE *mpf;	PAGE *pagep;	int cmp_n, cmp_p, modified, ret;	REC_PRINT(__bam_root_print);	REC_INTRO(__bam_root_read);	if ((ret = memp_fget(mpf, &argp->pgno, 0, &pagep)) != 0)		if (DB_REDO(op)) {			if ((ret = memp_fget(mpf,			    &argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)				goto out;		} else {			*lsnp = argp->prev_lsn;			ret = 0;			goto out;		}	modified = 0;	cmp_n = log_compare(lsnp, &LSN(pagep));	/*	 * Use this when there is something like "pagelsn" in the argp	 * structure.  Sometimes, you might need to compare meta-data	 * lsn's instead.	 *	 * cmp_p = log_compare(&LSN(pagep), argp->pagelsn);	 */	if (cmp_p == 0 && DB_REDO(op)) {		/* Need to redo update described. */		modified = 1;	} else if (cmp_n == 0 && !DB_REDO(op)) {		/* Need to undo update described. */		modified = 1;	}	if (ret = memp_fput(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))		goto out;	*lsnp = argp->prev_lsn;	ret = 0;out:	REC_CLOSE;}/* * __bam_curadj_recover -- *	Recovery function for curadj. * * PUBLIC: int __bam_curadj_recover * PUBLIC:   __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *)); */int__bam_curadj_recover(dbenv, dbtp, lsnp, op, info)	DB_ENV *dbenv;	DBT *dbtp;	DB_LSN *lsnp;	db_recops op;	void *info;{	__bam_curadj_args *argp;	DB *file_dbp;	DBC *dbc;	DB_MPOOLFILE *mpf;	PAGE *pagep;	int cmp_n, cmp_p, modified, ret;	REC_PRINT(__bam_curadj_print);	REC_INTRO(__bam_curadj_read);	if ((ret = memp_fget(mpf, &argp->pgno, 0, &pagep)) != 0)		if (DB_REDO(op)) {			if ((ret = memp_fget(mpf,			    &argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)				goto out;		} else {			*lsnp = argp->prev_lsn;			ret = 0;			goto out;		}	modified = 0;	cmp_n = log_compare(lsnp, &LSN(pagep));	/*	 * Use this when there is something like "pagelsn" in the argp	 * structure.  Sometimes, you might need to compare meta-data	 * lsn's instead.	 *	 * cmp_p = log_compare(&LSN(pagep), argp->pagelsn);	 */	if (cmp_p == 0 && DB_REDO(op)) {		/* Need to redo update described. */		modified = 1;	} else if (cmp_n == 0 && !DB_REDO(op)) {		/* Need to undo update described. */		modified = 1;	}	if (ret = memp_fput(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))		goto out;	*lsnp = argp->prev_lsn;	ret = 0;out:	REC_CLOSE;}/* * __bam_rcuradj_recover -- *	Recovery function for rcuradj. * * PUBLIC: int __bam_rcuradj_recover * PUBLIC:   __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *)); */int__bam_rcuradj_recover(dbenv, dbtp, lsnp, op, info)	DB_ENV *dbenv;	DBT *dbtp;	DB_LSN *lsnp;	db_recops op;	void *info;{	__bam_rcuradj_args *argp;	DB *file_dbp;	DBC *dbc;	DB_MPOOLFILE *mpf;	PAGE *pagep;	int cmp_n, cmp_p, modified, ret;	REC_PRINT(__bam_rcuradj_print);	REC_INTRO(__bam_rcuradj_read);	if ((ret = memp_fget(mpf, &argp->pgno, 0, &pagep)) != 0)		if (DB_REDO(op)) {			if ((ret = memp_fget(mpf,			    &argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)				goto out;		} else {			*lsnp = argp->prev_lsn;			ret = 0;			goto out;		}	modified = 0;	cmp_n = log_compare(lsnp, &LSN(pagep));	/*	 * Use this when there is something like "pagelsn" in the argp	 * structure.  Sometimes, you might need to compare meta-data	 * lsn's instead.	 *	 * cmp_p = log_compare(&LSN(pagep), argp->pagelsn);	 */	if (cmp_p == 0 && DB_REDO(op)) {		/* Need to redo update described. */		modified = 1;	} else if (cmp_n == 0 && !DB_REDO(op)) {		/* Need to undo update described. */		modified = 1;	}	if (ret = memp_fput(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))		goto out;	*lsnp = argp->prev_lsn;	ret = 0;out:	REC_CLOSE;}

⌨️ 快捷键说明

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