亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? db_server_cxxproc.cpp

?? mysql數(shù)據(jù)庫(kù)源代碼
?? CPP
?? 第 1 頁(yè) / 共 4 頁(yè)
字號(hào):
/*- * See the file LICENSE for redistribution information. * * Copyright (c) 2001-2002 *      Sleepycat Software.  All rights reserved. */#include "db_config.h"#ifdef HAVE_RPC#ifndef lintstatic const char revid[] = "$Id: db_server_cxxproc.cpp,v 1.12 2002/08/09 01:56:08 bostic Exp $";#endif /* not lint */#ifndef NO_SYSTEM_INCLUDES#include <sys/types.h>#include <rpc/rpc.h>#include <string.h>#endif#include "dbinc_auto/db_server.h"#include "db_int.h"#include "db_cxx.h"extern "C" {#include "dbinc/db_server_int.h"#include "dbinc_auto/rpc_server_ext.h"}/* BEGIN __env_cachesize_proc */extern "C" void__env_cachesize_proc(	long dbenvcl_id,	u_int32_t gbytes,	u_int32_t bytes,	u_int32_t ncache,	__env_cachesize_reply *replyp)/* END __env_cachesize_proc */{	DbEnv *dbenv;	ct_entry *dbenv_ctp;	int ret;	ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);	dbenv = (DbEnv *)dbenv_ctp->ct_anyp;	ret = dbenv->set_cachesize(gbytes, bytes, ncache);	replyp->status = ret;	return;}/* BEGIN __env_close_proc */extern "C" void__env_close_proc(	long dbenvcl_id,	u_int32_t flags,	__env_close_reply *replyp)/* END __env_close_proc */{	ct_entry *dbenv_ctp;	ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);	replyp->status = __dbenv_close_int(dbenvcl_id, flags, 0);	return;}/* BEGIN __env_create_proc */extern "C" void__env_create_proc(	u_int32_t timeout,	__env_create_reply *replyp)/* END __env_create_proc */{	DbEnv *dbenv;	ct_entry *ctp;	ctp = new_ct_ent(&replyp->status);	if (ctp == NULL)		return;	dbenv = new DbEnv(DB_CXX_NO_EXCEPTIONS);	ctp->ct_envp = dbenv;	ctp->ct_type = CT_ENV;	ctp->ct_parent = NULL;	ctp->ct_envparent = ctp;	__dbsrv_settimeout(ctp, timeout);	__dbsrv_active(ctp);	replyp->envcl_id = ctp->ct_id;	replyp->status = 0;	return;}/* BEGIN __env_dbremove_proc */extern "C" void__env_dbremove_proc(	long dbenvcl_id,	long txnpcl_id,	char *name,	char *subdb,	u_int32_t flags,	__env_dbremove_reply *replyp)/* END __env_dbremove_proc */{	int ret;	DbEnv *dbenv;	DbTxn *txnp;	ct_entry *dbenv_ctp, *txnp_ctp;	ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);	dbenv = (DbEnv *)dbenv_ctp->ct_anyp;	if (txnpcl_id != 0) {		ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);		txnp = (DbTxn *)txnp_ctp->ct_anyp;	} else		txnp = NULL;	ret = dbenv->dbremove(txnp, name, subdb, flags);	replyp->status = ret;	return;}/* BEGIN __env_dbrename_proc */void__env_dbrename_proc(	long dbenvcl_id,	long txnpcl_id,	char *name,	char *subdb,	char *newname,	u_int32_t flags,	__env_dbrename_reply *replyp)/* END __env_dbrename_proc */{	int ret;	DbEnv *dbenv;	DbTxn *txnp;	ct_entry *dbenv_ctp, *txnp_ctp;	ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);	dbenv = (DbEnv *)dbenv_ctp->ct_anyp;	if (txnpcl_id != 0) {		ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);		txnp = (DbTxn *)txnp_ctp->ct_anyp;	} else		txnp = NULL;	ret = dbenv->dbrename(txnp, name, subdb, newname, flags);	replyp->status = ret;	return;}/* BEGIN __env_encrypt_proc */extern "C" void__env_encrypt_proc(	long dbenvcl_id,	char *passwd,	u_int32_t flags,	__env_encrypt_reply *replyp)/* END __env_encrypt_proc */{	DbEnv *dbenv;	ct_entry *dbenv_ctp;	int ret;	ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);	dbenv = (DbEnv *)dbenv_ctp->ct_anyp;	ret = dbenv->set_encrypt(passwd, flags);	replyp->status = ret;	return;}/* BEGIN __env_flags_proc */extern "C" void__env_flags_proc(	long dbenvcl_id,	u_int32_t flags,	u_int32_t onoff,	__env_flags_reply *replyp)/* END __env_flags_proc */{	DbEnv *dbenv;	ct_entry *dbenv_ctp;	int ret;	ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);	dbenv = (DbEnv *)dbenv_ctp->ct_anyp;	ret = dbenv->set_flags(flags, onoff);	if (onoff)		dbenv_ctp->ct_envdp.onflags = flags;	else		dbenv_ctp->ct_envdp.offflags = flags;	replyp->status = ret;	return;}/* BEGIN __env_open_proc */extern "C" void__env_open_proc(	long dbenvcl_id,	char *home,	u_int32_t flags,	u_int32_t mode,	__env_open_reply *replyp)/* END __env_open_proc */{	DbEnv *dbenv;	ct_entry *dbenv_ctp, *new_ctp;	u_int32_t newflags, shareflags;	int ret;	home_entry *fullhome;	ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);	dbenv = (DbEnv *)dbenv_ctp->ct_anyp;	fullhome = get_home(home);	if (fullhome == NULL) {		ret = DB_NOSERVER_HOME;		goto out;	}	/*	 * If they are using locking do deadlock detection for them,	 * internally.	 */	if ((flags & DB_INIT_LOCK) &&	    (ret = dbenv->set_lk_detect(DB_LOCK_DEFAULT)) != 0)		goto out;	if (__dbsrv_verbose) {		dbenv->set_errfile(stderr);		dbenv->set_errpfx(fullhome->home);	}	/*	 * Mask off flags we ignore	 */	newflags = (flags & ~DB_SERVER_FLAGMASK);	shareflags = (newflags & DB_SERVER_ENVFLAGS);	/*	 * Check now whether we can share a handle for this env.	 */	replyp->envcl_id = dbenvcl_id;	if ((new_ctp = __dbsrv_shareenv(dbenv_ctp, fullhome, shareflags))	    != NULL) {		/*		 * We can share, clean up old  ID, set new one.		 */		if (__dbsrv_verbose)			printf("Sharing env ID %ld\n", new_ctp->ct_id);		replyp->envcl_id = new_ctp->ct_id;		ret = __dbenv_close_int(dbenvcl_id, 0, 0);	} else {		ret = dbenv->open(fullhome->home, newflags, mode);		dbenv_ctp->ct_envdp.home = fullhome;		dbenv_ctp->ct_envdp.envflags = shareflags;	}out:	replyp->status = ret;	return;}/* BEGIN __env_remove_proc */extern "C" void__env_remove_proc(	long dbenvcl_id,	char *home,	u_int32_t flags,	__env_remove_reply *replyp)/* END __env_remove_proc */{	DbEnv *dbenv;	ct_entry *dbenv_ctp;	int ret;	home_entry *fullhome;	ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);	dbenv = (DbEnv *)dbenv_ctp->ct_anyp;	fullhome = get_home(home);	if (fullhome == NULL) {		replyp->status = DB_NOSERVER_HOME;		return;	}	ret = dbenv->remove(fullhome->home, flags);	__dbdel_ctp(dbenv_ctp);	replyp->status = ret;	return;}/* BEGIN __txn_abort_proc */extern "C" void__txn_abort_proc(	long txnpcl_id,	__txn_abort_reply *replyp)/* END __txn_abort_proc */{	DbTxn *txnp;	ct_entry *txnp_ctp;	int ret;	ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);	txnp = (DbTxn *)txnp_ctp->ct_anyp;	ret = txnp->abort();	__dbdel_ctp(txnp_ctp);	replyp->status = ret;	return;}/* BEGIN __txn_begin_proc */extern "C" void__txn_begin_proc(	long dbenvcl_id,	long parentcl_id,	u_int32_t flags,	__txn_begin_reply *replyp)/* END __txn_begin_proc */{	DbEnv *dbenv;	DbTxn *parent, *txnp;	ct_entry *ctp, *dbenv_ctp, *parent_ctp;	int ret;	ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);	dbenv = (DbEnv *)dbenv_ctp->ct_anyp;	parent_ctp = NULL;	ctp = new_ct_ent(&replyp->status);	if (ctp == NULL)		return;	if (parentcl_id != 0) {		ACTIVATE_CTP(parent_ctp, parentcl_id, CT_TXN);		parent = (DbTxn *)parent_ctp->ct_anyp;		ctp->ct_activep = parent_ctp->ct_activep;	} else		parent = NULL;	ret = dbenv->txn_begin(parent, &txnp, flags);	if (ret == 0) {		ctp->ct_txnp = txnp;		ctp->ct_type = CT_TXN;		ctp->ct_parent = parent_ctp;		ctp->ct_envparent = dbenv_ctp;		replyp->txnidcl_id = ctp->ct_id;		__dbsrv_settimeout(ctp, dbenv_ctp->ct_timeout);		__dbsrv_active(ctp);	} else		__dbclear_ctp(ctp);	replyp->status = ret;	return;}/* BEGIN __txn_commit_proc */extern "C" void__txn_commit_proc(	long txnpcl_id,	u_int32_t flags,	__txn_commit_reply *replyp)/* END __txn_commit_proc */{	DbTxn *txnp;	ct_entry *txnp_ctp;	int ret;	ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);	txnp = (DbTxn *)txnp_ctp->ct_anyp;	ret = txnp->commit(flags);	__dbdel_ctp(txnp_ctp);	replyp->status = ret;	return;}/* BEGIN __txn_discard_proc */extern "C" void__txn_discard_proc(	long txnpcl_id,	u_int32_t flags,	__txn_discard_reply *replyp)/* END __txn_discard_proc */{	DbTxn *txnp;	ct_entry *txnp_ctp;	int ret;	ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);	txnp = (DbTxn *)txnp_ctp->ct_anyp;	ret = txnp->discard(flags);	__dbdel_ctp(txnp_ctp);	replyp->status = ret;	return;}/* BEGIN __txn_prepare_proc */extern "C" void__txn_prepare_proc(	long txnpcl_id,	u_int8_t *gid,	__txn_prepare_reply *replyp)/* END __txn_prepare_proc */{	DbTxn *txnp;	ct_entry *txnp_ctp;	int ret;	ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);	txnp = (DbTxn *)txnp_ctp->ct_anyp;	ret = txnp->prepare(gid);	replyp->status = ret;	return;}/* BEGIN __txn_recover_proc */extern "C" void__txn_recover_proc(	long dbenvcl_id,	u_int32_t count,	u_int32_t flags,	__txn_recover_reply *replyp,	int * freep)/* END __txn_recover_proc */{	DbEnv *dbenv;	DbPreplist *dbprep, *p;	ct_entry *dbenv_ctp, *ctp;	long erri, i, retcount;	u_int32_t *txnidp;	int ret;	char *gid;	ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);	dbenv = (DbEnv *)dbenv_ctp->ct_anyp;	*freep = 0;	if ((ret =	    __os_malloc(dbenv->get_DB_ENV(), count * sizeof(DbPreplist), &dbprep)) != 0)		goto out;	if ((ret =	    dbenv->txn_recover(dbprep, count, &retcount, flags)) != 0)		goto out;	/*	 * If there is nothing, success, but it's easy.	 */	replyp->retcount = retcount; // TODO: fix C++ txn_recover	if (retcount == 0) {		replyp->txn.txn_val = NULL;		replyp->txn.txn_len = 0;		replyp->gid.gid_val = NULL;		replyp->gid.gid_len = 0;	}	/*	 * We have our txn list.  Now we need to allocate the space for	 * the txn ID array and the GID array and set them up.	 */	if ((ret = __os_calloc(dbenv->get_DB_ENV(), retcount, sizeof(u_int32_t),	    &replyp->txn.txn_val)) != 0)		goto out;	replyp->txn.txn_len = retcount * sizeof(u_int32_t);	if ((ret = __os_calloc(dbenv->get_DB_ENV(), retcount, DB_XIDDATASIZE,	    &replyp->gid.gid_val)) != 0) {		__os_free(dbenv->get_DB_ENV(), replyp->txn.txn_val);		goto out;	}	replyp->gid.gid_len = retcount * DB_XIDDATASIZE;	/*	 * Now walk through our results, creating parallel arrays	 * to send back.  For each entry we need to create a new	 * txn ctp and then fill in the array info.	 */	i = 0;	p = dbprep;	gid = replyp->gid.gid_val;	txnidp = replyp->txn.txn_val;	while (i++ < retcount) {		ctp = new_ct_ent(&ret);		if (ret != 0) {			i--;			goto out2;		}		ctp->ct_txnp = p->txn;		ctp->ct_type = CT_TXN;		ctp->ct_parent = NULL;		ctp->ct_envparent = dbenv_ctp;		__dbsrv_settimeout(ctp, dbenv_ctp->ct_timeout);		__dbsrv_active(ctp);		*txnidp = ctp->ct_id;		memcpy(gid, p->gid, DB_XIDDATASIZE);		p++;		txnidp++;		gid += DB_XIDDATASIZE;	}	/*	 * If we get here, we have success and we have to set freep	 * so it'll get properly freed next time.	 */	*freep = 1;out:	if (dbprep != NULL)		__os_free(dbenv->get_DB_ENV(), dbprep);	replyp->status = ret;	return;out2:	/*	 * We had an error in the middle of creating our new txn	 * ct entries.  We have to unwind all that we have done.  Ugh.	 */	for (txnidp = replyp->txn.txn_val, erri = 0;	    erri < i; erri++, txnidp++) {		ctp = get_tableent(*txnidp);		__dbclear_ctp(ctp);	}	__os_free(dbenv->get_DB_ENV(), replyp->txn.txn_val);	__os_free(dbenv->get_DB_ENV(), replyp->gid.gid_val);	__os_free(dbenv->get_DB_ENV(), dbprep);	replyp->status = ret;	return;}/* BEGIN __db_bt_maxkey_proc */extern "C" void__db_bt_maxkey_proc(	long dbpcl_id,	u_int32_t maxkey,	__db_bt_maxkey_reply *replyp)/* END __db_bt_maxkey_proc */{	Db *dbp;	ct_entry *dbp_ctp;	int ret;	ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);	dbp = (Db *)dbp_ctp->ct_anyp;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产综合久久久蜜臀图片 | 亚洲欧美另类久久久精品2019| 色一情一乱一乱一91av| 激情综合网av| 午夜视频在线观看一区| 最新国产成人在线观看| 久久亚洲私人国产精品va媚药| 欧美日韩视频不卡| 91丝袜国产在线播放| 国产99久久久久| 久久 天天综合| 日韩电影免费一区| 亚洲综合精品久久| 亚洲欧美另类久久久精品 | 日韩一区二区三免费高清| 一本高清dvd不卡在线观看| 国产一区二区三区久久悠悠色av| 午夜精品影院在线观看| 亚洲欧美日韩精品久久久久| 国产欧美日韩另类一区| 91精品国产麻豆| 欧美天天综合网| 日本精品视频一区二区| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | aaa国产一区| 国产成人精品影视| 国产呦萝稀缺另类资源| 狠狠v欧美v日韩v亚洲ⅴ| 麻豆成人久久精品二区三区小说| 肉丝袜脚交视频一区二区| 亚洲影视在线观看| 一区二区免费在线播放| 一区二区三区.www| 亚洲综合激情另类小说区| 亚洲激情校园春色| 一区二区在线免费观看| 亚洲女人小视频在线观看| 一区二区三区在线免费播放| 亚洲女人****多毛耸耸8| 亚洲激情图片小说视频| 亚洲一区二区三区四区在线免费观看| 亚洲精品菠萝久久久久久久| 亚洲乱码国产乱码精品精98午夜| 亚洲美女在线一区| 一片黄亚洲嫩模| 日韩黄色小视频| 久久国内精品自在自线400部| 麻豆精品视频在线观看免费| 国产在线观看免费一区| 国产成人精品亚洲777人妖| 成人性生交大片免费看在线播放| 岛国av在线一区| 91免费国产视频网站| 欧美综合欧美视频| 88在线观看91蜜桃国自产| 日韩亚洲欧美在线| 国产视频一区在线播放| 一区在线观看免费| 亚洲成人免费电影| 久久成人久久鬼色| 成人在线视频一区| 欧亚洲嫩模精品一区三区| 欧美一区二区免费观在线| 久久久久99精品一区| 中文字幕一区二区三| 五月激情六月综合| 国产精品一区一区| 91高清视频免费看| 日韩欧美在线1卡| 国产精品色哟哟| 亚洲mv大片欧洲mv大片精品| 激情欧美一区二区三区在线观看| 国产宾馆实践打屁股91| 欧美主播一区二区三区| 精品88久久久久88久久久| 国产精品美女久久久久久久网站| 亚洲国产精品欧美一二99| 韩国av一区二区| 欧美自拍丝袜亚洲| 久久久久久久综合狠狠综合| 一区二区三区免费看视频| 久久精品国产精品亚洲综合| 91在线国产观看| 欧美一区二区在线视频| 一区在线播放视频| 免费人成网站在线观看欧美高清| 成人深夜视频在线观看| 欧美日本视频在线| 中文字幕不卡在线| 免费av成人在线| 91亚洲精品久久久蜜桃| 日韩美女一区二区三区| 综合欧美一区二区三区| 精品无人码麻豆乱码1区2区 | 欧美岛国在线观看| 一区二区三区四区精品在线视频| 美女一区二区在线观看| 91成人看片片| 中文字幕久久午夜不卡| 免费在线观看视频一区| 日本韩国欧美在线| 国产精品嫩草久久久久| 久久精品免费看| 欧美午夜精品理论片a级按摩| 久久久久久久久久久99999| 视频在线在亚洲| 91精彩视频在线观看| 国产精品麻豆久久久| 国产一区免费电影| 91精品久久久久久久久99蜜臂| 亚洲精选视频在线| 国产成人日日夜夜| 亚洲精品一区二区三区四区高清| 亚洲午夜免费视频| 色综合一区二区三区| 欧美国产欧美综合| 精久久久久久久久久久| 日韩三级高清在线| 亚洲v中文字幕| 欧美综合一区二区| 亚洲欧美国产三级| 不卡的av中国片| 亚洲国产精品高清| 国产另类ts人妖一区二区| 日韩一区二区免费电影| 亚洲国产va精品久久久不卡综合| 色噜噜狠狠成人中文综合| 亚洲国产精品精华液2区45| 国产精品12区| 国产校园另类小说区| 国产精品一区二区在线播放| 337p日本欧洲亚洲大胆精品| 美女高潮久久久| 精品日韩一区二区三区 | 日韩精品色哟哟| 欧美日韩www| 午夜视频在线观看一区二区 | 精东粉嫩av免费一区二区三区| 日韩欧美一级精品久久| 麻豆精品一区二区av白丝在线| 91精品视频网| 美日韩黄色大片| 精品久久久久久亚洲综合网| 狠狠网亚洲精品| 久久精品亚洲国产奇米99| 国产成人综合视频| 国产精品久久久久婷婷| 97se亚洲国产综合自在线| 亚洲乱码国产乱码精品精可以看 | 在线视频一区二区免费| 亚洲一区二区在线免费看| 欧美日韩午夜影院| 美腿丝袜亚洲综合| 久久女同精品一区二区| 成人做爰69片免费看网站| 国产精品丝袜一区| 91福利资源站| 日本不卡一二三区黄网| 国产亚洲一区二区三区在线观看 | 欧美一级免费观看| 久久国产三级精品| 中文字幕第一区第二区| 色婷婷久久99综合精品jk白丝| 亚洲国产综合人成综合网站| 日韩一区二区三区免费看 | av中文字幕不卡| 亚洲国产精品一区二区久久恐怖片 | 久久精品国产精品亚洲综合| 精品对白一区国产伦| 成人免费视频app| 亚洲国产日韩在线一区模特| 欧美www视频| 99久久综合99久久综合网站| 亚洲一级二级三级| 精品国精品自拍自在线| 99国产精品久久久久久久久久| 亚洲一区二区综合| 久久亚洲综合色| 在线观看免费一区| 国产在线看一区| 伊人婷婷欧美激情| 2欧美一区二区三区在线观看视频| av不卡在线播放| 久久精品国产精品亚洲红杏| 亚洲女同女同女同女同女同69| 日韩一区二区三区四区| 91丨九色丨蝌蚪富婆spa| 美女一区二区三区| 亚洲男人的天堂在线观看| 精品国产91乱码一区二区三区| 成人av在线影院| 麻豆高清免费国产一区| 17c精品麻豆一区二区免费| 日韩女同互慰一区二区| 欧洲国内综合视频| 福利一区在线观看| 免费日韩伦理电影| 亚洲一区二区欧美日韩| 国产精品丝袜在线| 久久嫩草精品久久久精品一|