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

📄 db_int.in

📁 这是linux下运行的mysql软件包,可用于linux 下安装 php + mysql + apach 的网络配置
💻 IN
📖 第 1 页 / 共 2 页
字号:
#define	MPOOL_ON(dbenv)		((dbenv)->mp_handle != NULL)#define	RPC_ON(dbenv)		((dbenv)->cl_handle != NULL)#define	TXN_ON(dbenv)		((dbenv)->tx_handle != NULL)/* * STD_LOCKING	Standard locking, that is, locking was configured and CDB *		was not.  We do not do locking in off-page duplicate trees, *		so we check for that in the cursor first. */#define	STD_LOCKING(dbc)						\	(!F_ISSET(dbc, DBC_OPD) &&					\	    !CDB_LOCKING((dbc)->dbp->dbenv) && LOCKING_ON((dbc)->dbp->dbenv))/* * IS_RECOVERING: The system is running recovery. */#define	IS_RECOVERING(dbenv)						\	(LOGGING_ON(dbenv) &&						\	    F_ISSET((DB_LOG *)(dbenv)->lg_handle, DBLOG_RECOVER))/* Initialization methods are often illegal before/after open is called. */#define	ENV_ILLEGAL_AFTER_OPEN(dbenv, name)				\	if (F_ISSET((dbenv), DB_ENV_OPEN_CALLED))			\		return (__db_mi_open(dbenv, name, 1));#define	ENV_ILLEGAL_BEFORE_OPEN(dbenv, name)				\	if (!F_ISSET((dbenv), DB_ENV_OPEN_CALLED))			\		return (__db_mi_open(dbenv, name, 0));/* We're not actually user hostile, honest. */#define	ENV_REQUIRES_CONFIG(dbenv, handle, i, flags)			\	if (handle == NULL)						\		return (__db_env_config(dbenv, i, flags));/******************************************************* * Database Access Methods. *******************************************************//* * DB_IS_THREADED -- *	The database handle is free-threaded (was opened with DB_THREAD). */#define	DB_IS_THREADED(dbp)						\	((dbp)->mutexp != NULL)/* Initialization methods are often illegal before/after open is called. */#define	DB_ILLEGAL_AFTER_OPEN(dbp, name)				\	if (F_ISSET((dbp), DB_AM_OPEN_CALLED))				\		return (__db_mi_open((dbp)->dbenv, name, 1));#define	DB_ILLEGAL_BEFORE_OPEN(dbp, name)				\	if (!F_ISSET((dbp), DB_AM_OPEN_CALLED))				\		return (__db_mi_open((dbp)->dbenv, name, 0));/* Some initialization methods are illegal if environment isn't local. */#define	DB_ILLEGAL_IN_ENV(dbp, name)					\	if (!F_ISSET((dbp)->dbenv, DB_ENV_DBLOCAL))			\		return (__db_mi_env((dbp)->dbenv, name));#define	DB_ILLEGAL_METHOD(dbp, flags) {					\	int __ret;							\	if ((__ret = __dbh_am_chk(dbp, flags)) != 0)			\		return (__ret);						\}/* * Common DBC->internal fields.  Each access method adds additional fields * to this list, but the initial fields are common. */#define	__DBC_INTERNAL							\	DBC	 *opd;			/* Off-page duplicate cursor. */\									\	void	 *page;			/* Referenced page. */		\	db_pgno_t root;			/* Tree root. */		\	db_pgno_t pgno;			/* Referenced page number. */	\	db_indx_t indx;			/* Referenced key item index. */\									\	DB_LOCK		lock;		/* Cursor lock. */		\	db_lockmode_t	lock_mode;	/* Lock mode. */struct __dbc_internal {	__DBC_INTERNAL};/* Actions that __db_master_update can take. */typedef enum { MU_REMOVE, MU_RENAME, MU_OPEN } mu_action;/* * Access-method-common macro for determining whether a cursor * has been initialized. */#define	IS_INITIALIZED(dbc)	((dbc)->internal->pgno != PGNO_INVALID)/* Free the callback-allocated buffer, if necessary, hanging off of a DBT. */#define	FREE_IF_NEEDED(sdbp, dbt)					\	if (F_ISSET((dbt), DB_DBT_APPMALLOC)) {				\		__os_ufree((sdbp)->dbenv, (dbt)->data);			\		F_CLR((dbt), DB_DBT_APPMALLOC);				\	}/* * Use memory belonging to object "owner" to return the results of * any no-DBT-flag get ops on cursor "dbc". */#define	SET_RET_MEM(dbc, owner)				\	do {						\		(dbc)->rskey = &(owner)->my_rskey;	\		(dbc)->rkey = &(owner)->my_rkey;	\		(dbc)->rdata = &(owner)->my_rdata;	\	} while (0)/* Use the return-data memory src is currently set to use in dest as well. */#define	COPY_RET_MEM(src, dest)				\	do {						\		(dest)->rskey = (src)->rskey;		\		(dest)->rkey = (src)->rkey;		\		(dest)->rdata = (src)->rdata;		\	} while (0)/* Reset the returned-memory pointers to their defaults. */#define	RESET_RET_MEM(dbc)				\	do {						\		(dbc)->rskey = &(dbc)->my_rskey;	\		(dbc)->rkey = &(dbc)->my_rkey;		\		(dbc)->rdata = &(dbc)->my_rdata;	\	} while (0)/******************************************************* * Mpool. *******************************************************//* * File types for DB access methods.  Negative numbers are reserved to DB. */#define	DB_FTYPE_SET		-1	/* Call pgin/pgout functions. */#define	DB_FTYPE_NOTSET		 0	/* Don't call... *//* Structure used as the DB pgin/pgout pgcookie. */typedef struct __dbpginfo {	size_t	db_pagesize;		/* Underlying page size. */	u_int32_t flags;		/* Some DB_AM flags needed. */	DBTYPE  type;			/* DB type */} DB_PGINFO;/******************************************************* * Log. *******************************************************//* Initialize an LSN to 'zero'. */#define	ZERO_LSN(LSN) do {						\	(LSN).file = 0;							\	(LSN).offset = 0;						\} while (0)#define	IS_ZERO_LSN(LSN)	((LSN).file == 0)#define	IS_INIT_LSN(LSN)	((LSN).file == 1 && (LSN).offset == 0)#define	INIT_LSN(LSN)		do {					\	(LSN).file = 1;							\	(LSN).offset = 0;						\} while (0)#define	MAX_LSN(LSN) do {						\	(LSN).file = UINT32_T_MAX;					\	(LSN).offset = UINT32_T_MAX;					\} while (0)#define	IS_MAX_LSN(LSN) \	((LSN).file == UINT32_T_MAX && (LSN).offset == UINT32_T_MAX)/* If logging is turned off, smash the lsn. */#define	LSN_NOT_LOGGED(LSN) do {					\	(LSN).file = 0;							\	(LSN).offset = 1;						\} while (0)#define	IS_NOT_LOGGED_LSN(LSN) \	((LSN).file == 0 && (LSN).offset == 1)/* * Test if the environment is currently logging changes.  If we're in * recovery or we're a replication client, we don't need to log changes * because they're already in the log, even though we have a fully functional * log system. */#define	DBENV_LOGGING(dbenv)						\	(LOGGING_ON(dbenv) && !F_ISSET((dbenv), DB_ENV_REP_CLIENT) &&	\	    (!IS_RECOVERING(dbenv)))/* * Test if we need to log a change.  Note that the DBC_RECOVER flag is set * when we're in abort, as well as during recovery;  thus DBC_LOGGING may be * false for a particular dbc even when DBENV_LOGGING is true. * * We explicitly use LOGGING_ON/DB_ENV_REP_CLIENT here because we don't * want to have to pull in the log headers, which IS_RECOVERING (and thus * DBENV_LOGGING) rely on, and because DBC_RECOVER should be set anytime * IS_RECOVERING would be true. */#define	DBC_LOGGING(dbc)						\	(LOGGING_ON((dbc)->dbp->dbenv) && !F_ISSET((dbc), DBC_RECOVER) && \	 !F_ISSET((dbc)->dbp->dbenv, DB_ENV_REP_CLIENT))/******************************************************* * Txn. *******************************************************/#define	DB_NONBLOCK(C)	((C)->txn != NULL && F_ISSET((C)->txn, TXN_NOWAIT))#define	IS_SUBTRANSACTION(txn)						\	((txn) != NULL && (txn)->parent != NULL)/******************************************************* * Crypto. *******************************************************/#define	DB_IV_BYTES     16		/* Bytes per IV */#define	DB_MAC_KEY	20		/* Bytes per MAC checksum *//******************************************************* * Forward structure declarations. *******************************************************/struct __db_reginfo_t;	typedef struct __db_reginfo_t REGINFO;struct __db_txnhead;	typedef struct __db_txnhead DB_TXNHEAD;struct __db_txnlist;	typedef struct __db_txnlist DB_TXNLIST;struct __vrfy_childinfo; typedef struct __vrfy_childinfo VRFY_CHILDINFO;struct __vrfy_dbinfo;   typedef struct __vrfy_dbinfo VRFY_DBINFO;struct __vrfy_pageinfo; typedef struct __vrfy_pageinfo VRFY_PAGEINFO;#if defined(__cplusplus)}#endif/******************************************************* * Remaining general DB includes. *******************************************************/@db_int_def@#include "dbinc/globals.h"#include "dbinc/debug.h"#include "dbinc/mutex.h"#include "dbinc/region.h"#include "dbinc_auto/mutex_ext.h"	/* XXX: Include after region.h. */#include "dbinc_auto/env_ext.h"#include "dbinc/os.h"#include "dbinc_auto/clib_ext.h"#include "dbinc_auto/common_ext.h"#endif /* !_DB_INTERNAL_H_ */

⌨️ 快捷键说明

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