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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? client.c

?? 關于Berkelay數據庫的共享源碼
?? C
字號:
#include <sys/types.h>#include <sys/time.h>#include <ctype.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <tx.h>#include <atmi.h>#include <fml32.h>#include <fml1632.h>#include <db.h>#include "datafml.h"#include "hdbrec.h"#include "hcommonxa.h"#include "htimestampxa.h"#define	HOME	"../data"#define	TABLE1	"../data/table1.db"#define	TABLE3	"../data/table3.db"#ifdef VERBOSEstatic int verbose = 1;				/* Debugging output. */#elsestatic int verbose = 0;#endifDB_ENV *dbenv;char *progname;					/* Client run-time name. */int   check_data(DB *);char *db_buf(DBT *);int   usage(void);intmain(int argc, char* argv[]){	DB *dbp3;	DBT key, data;	FBFR *buf, *replyBuf;	HDbRec rec;	TPINIT *initBuf;	long len, replyLen, seqNo;	int ch, cnt, cnt_abort, cnt_commit, cnt_server1, i, ret;	char *target;	progname = argv[0];	dbp3 = NULL;	buf = replyBuf = NULL;	initBuf = NULL;	cnt = 1000;	cnt_abort = cnt_commit = cnt_server1 = 0;	while ((ch = getopt(argc, argv, "n:v")) != EOF)		switch (ch) {		case 'n':			cnt = atoi(optarg);			break;		case 'v':			verbose = 1;			break;		case '?':		default:			return (usage());		}	argc -= optind;	argv += optind;	if (verbose)		printf("%s: called\n", progname);	/* Seed random number generator. */	srand((u_int)(time(NULL) | getpid()));	if (tpinit((TPINIT *)NULL) == -1)		goto tuxedo_err;	if (verbose)		printf("%s: tpinit() OK\n", progname);	/* Allocate init buffer */	if((initBuf = (TPINIT *)tpalloc("TPINIT", NULL, TPINITNEED(0))) == 0)		goto tuxedo_err;	if (verbose)		printf("%s: tpalloc(\"TPINIT\") OK\n", progname);	/* Join the DB environment. */	if ((ret = db_env_create(&dbenv, 0)) != 0 ||	    (ret = dbenv->open(dbenv, HOME, DB_JOINENV, 0)) != 0) {		fprintf(stderr,		    "%s: %s: %s\n", progname, HOME, db_strerror(ret));		goto err;	}	dbenv->set_errfile(dbenv, stderr);	if (verbose)		printf("%s: opened %s OK\n", progname, HOME);	/* Open table #3 -- truncate it for each new run. */	if ((ret = db_create(&dbp3, dbenv, 0)) != 0 ||	    (ret = dbp3->open(dbp3,	    NULL, TABLE3, NULL, DB_BTREE, DB_CREATE, 0660)) != 0) {		fprintf(stderr,		    "%s: %s %s\n", progname, TABLE3, db_strerror(ret));		goto err;	}	if (verbose)		printf("%s: opened/truncated %s OK\n", progname, TABLE3);	/* Allocate send buffer. */	len = Fneeded(1, 3 * sizeof(long));	if ((buf = (FBFR*)tpalloc("FML32", NULL, len)) == 0)		goto tuxedo_err;	if (verbose)		printf("%s: tpalloc(\"FML32\"), send buffer OK\n", progname);	/* Allocate reply buffer. */	replyLen = 1024;	if ((replyBuf = (FBFR*)tpalloc("FML32", NULL, replyLen)) == NULL)		goto tuxedo_err;	if (verbose)		printf("%s: tpalloc(\"FML32\"), reply buffer OK\n", progname);	memset(&key, 0, sizeof(key));	memset(&data, 0, sizeof(data));	for (rec.SeqNo = 1, i = 0; i < cnt; ++i, ++rec.SeqNo) {		GetTime(&rec.Ts);		if (Fchg(buf, SEQ_NO, 0, (char *)&rec.SeqNo, 0) == -1)			goto tuxedo_fml_err;		if (verbose)			printf("%s: Fchg(), sequence number OK\n", progname);		if (Fchg(buf, TS_SEC, 0, (char *)&rec.Ts.Sec, 0) == -1)			goto tuxedo_fml_err;		if (verbose)			printf("%s: Fchg(), seconds OK\n", progname);		if (Fchg(buf, TS_USEC, 0, (char *)&rec.Ts.Usec, 0) == -1)			goto tuxedo_fml_err;		if (verbose)			printf("%s: Fchg(), microseconds OK\n", progname);		if (tpbegin(60L, 0L) == -1)			goto tuxedo_err;		if (verbose)			printf("%s: tpbegin() OK\n", progname);		/* Randomly send half of our requests to each server. */		if (rand() % 2 > 0) {			++cnt_server1;			target = "TestTxn1";		} else			target = "TestTxn2";		if (tpcall(target, (char *)buf,		    0L, (char **)&replyBuf, &replyLen, TPSIGRSTRT) == -1)			goto tuxedo_err;		/* Commit for a return value of 0, otherwise abort. */		if (tpurcode == 0) {			++cnt_commit;			if (verbose)				printf("%s: txn success\n", progname);			if (tpcommit(0L) == -1)				goto tuxedo_err;			if (verbose)				printf("%s: tpcommit() OK\n", progname);			/*			 * Store a copy of the key/data pair into table #3			 * on success, we'll compare table #1 and table #3			 * after the run finishes.			 */			seqNo = rec.SeqNo;			key.data = &seqNo;			key.size = sizeof(seqNo);			data.data = &rec;			data.size = sizeof(rec);			if ((ret =			    dbp3->put(dbp3, NULL, &key, &data, 0)) != 0) {				fprintf(stderr, "%s: DB->put: %s %s\n",				    progname, TABLE3, db_strerror(ret));				goto err;			}		} else {			++cnt_abort;			if (verbose)				printf("%s: txn failure\n", progname);			if (tpabort(0L) == -1)				goto tuxedo_err;			if (verbose)				printf("%s: tpabort() OK\n", progname);		}	}	printf("%s: %d requests: %d committed, %d aborted\n",	    progname, cnt, cnt_commit, cnt_abort);	printf("%s: %d sent to server #1, %d sent to server #2\n",	    progname, cnt_server1, cnt - cnt_server1);	ret = check_data(dbp3);	if (0) {tuxedo_err:	fprintf(stderr, "%s: TUXEDO ERROR: %s (code %d)\n",		    progname, tpstrerror(tperrno), tperrno);		goto err;	}	if (0) {tuxedo_fml_err:	fprintf(stderr, "%s: FML ERROR: %s (code %d)\n",		    progname, Fstrerror(Ferror), Ferror);	}	if (0) {err:		ret = EXIT_FAILURE;	}	if (replyBuf != NULL)		tpfree((char *)replyBuf);	if (buf != NULL)		tpfree((char *)buf);	if (initBuf != NULL)		tpfree((char *)initBuf);	if (dbp3 != NULL)		(void)dbp3->close(dbp3, 0);	if (dbenv != NULL)		(void)dbenv->close(dbenv, 0);	tpterm();	if (verbose)		printf("%s: tpterm() OK\n", progname);	return (ret);}/* * check_data -- *	Compare committed data with our local copy, stored in table3. */intcheck_data(dbp3)	DB *dbp3;{	DB *dbp1;	DBC *dbc1, *dbc3;	DBT key1, data1, key3, data3;	int ret, ret1, ret3;	dbp1 = NULL;	dbc1 = dbc3 = NULL;	/* Open table #1. */	if ((ret = db_create(&dbp1, dbenv, 0)) != 0 ||	    (ret = dbp1->open(	    dbp1, NULL, TABLE1, NULL, DB_UNKNOWN, DB_RDONLY, 0)) != 0) {		fprintf(stderr,		    "%s: %s: %s\n", progname, TABLE1, db_strerror(ret));		goto err;	}	if (verbose)		printf("%s: opened %s OK\n", progname, TABLE1);	/* Open cursors. */	if ((ret = dbp1->cursor(dbp1, NULL, &dbc1, 0)) != 0 ||	    (ret = dbp3->cursor(dbp3, NULL, &dbc3, 0)) != 0) {		fprintf(stderr,		    "%s: DB->cursor: %s\n", progname, db_strerror(ret));		goto err;	}	if (verbose)		printf("%s: opened cursors OK\n", progname);	/* Compare the two databases. */	memset(&key1, 0, sizeof(key1));	memset(&data1, 0, sizeof(data1));	memset(&key3, 0, sizeof(key3));	memset(&data3, 0, sizeof(data3));	for (;;) {		ret1 = dbc1->c_get(dbc1, &key1, &data1, DB_NEXT);		ret3 = dbc3->c_get(dbc3, &key3, &data3, DB_NEXT);		if (verbose) {			printf("get: key1: %s\n", db_buf(&key1));			printf("get: key3: %s\n", db_buf(&key3));			printf("get: data1: %s\n", db_buf(&data1));			printf("get: data3: %s\n", db_buf(&data3));		}		if (ret1 != 0 || ret3 != 0)			break;		/*		 * Only compare the first N bytes, the saved message chunks		 * are different.		 */		if (key1.size != key3.size ||		    memcmp(key1.data, key3.data, key1.size) != 0 ||		    data1.size != data3.size ||		    memcmp(data1.data, data3.data,		    sizeof(long) + sizeof(HTimestampData)) != 0)			goto mismatch;	}	if (ret1 != DB_NOTFOUND || ret3 != DB_NOTFOUND) {mismatch:	fprintf(stderr,		    "%s: DB_ERROR: databases 1 and 3 weren't identical\n",		    progname);		ret = 1;	}err:	if (dbc1 != NULL)		(void)dbc1->c_close(dbc1);	if (dbc3 != NULL)		(void)dbc3->c_close(dbc3);	if (dbp1 != NULL)		(void)dbp1->close(dbp1, 0);	return (ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE);}char *db_buf(dbt)	DBT *dbt;{	static u_char buf[1024];	size_t len;	u_char *p, *b;	for (p = dbt->data, len = dbt->size, b = buf; len > 0; ++p, --len)		if (isprint(*p))			b += sprintf((char *)b, "%c", *p);		else			b += sprintf((char *)b, "%#o", *p);	return ((char *)buf);}intusage(){	fprintf(stderr, "usage: %s [-v] [-n txn]\n", progname);	return (EXIT_FAILURE);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
7777精品伊人久久久大香线蕉完整版 | 欧美日韩国产一级二级| 奇米在线7777在线精品| 中文字幕一区二区在线观看| 欧美伦理影视网| 色一区在线观看| 国产aⅴ综合色| 蜜桃久久av一区| 亚洲影视资源网| 椎名由奈av一区二区三区| 欧美精品一区二区不卡| 欧美三级日韩在线| 99国产精品久久久久久久久久久| 另类人妖一区二区av| 天天综合色天天综合| 亚洲女厕所小便bbb| 国产精品伦一区二区三级视频| 欧美一级艳片视频免费观看| 欧美日韩黄视频| 欧美性猛交xxxx乱大交退制版| av爱爱亚洲一区| 成人黄色国产精品网站大全在线免费观看 | 色婷婷综合中文久久一本| 懂色中文一区二区在线播放| 国产精品中文欧美| 国产福利一区二区三区视频在线 | 97精品电影院| 91成人免费在线视频| 欧美日本在线看| 精品国产伦一区二区三区免费 | 一区二区三区 在线观看视频| 国产精品三级在线观看| 亚洲日本va午夜在线影院| 亚洲欧美一区二区三区极速播放 | 久久嫩草精品久久久精品一| 精品999在线播放| 国产精品人成在线观看免费| 18欧美亚洲精品| 日韩福利视频导航| 国产精品一卡二卡在线观看| 成人免费视频一区二区| 欧美日韩国产中文| 26uuu欧美| 日韩精品欧美精品| 日本高清不卡在线观看| 国产成人免费在线观看不卡| 免费亚洲电影在线| 美女视频一区二区| 日本视频免费一区| 色天天综合色天天久久| 亚洲电影欧美电影有声小说| 视频一区视频二区在线观看| 国产精品亚洲人在线观看| 色婷婷久久一区二区三区麻豆| 7777精品伊人久久久大香线蕉经典版下载 | 在线成人午夜影院| 国产精品久久久久影院| 国产一区二区中文字幕| 91麻豆免费视频| 欧美极品少妇xxxxⅹ高跟鞋 | 国产视频911| 看电影不卡的网站| 欧美亚洲另类激情小说| 亚洲丝袜精品丝袜在线| 国产不卡在线一区| 国产日本欧洲亚洲| 国产成人亚洲综合a∨婷婷 | 欧美一区二区三区四区久久 | 亚洲观看高清完整版在线观看| 成人国产精品免费观看视频| 国产日韩欧美不卡在线| 国产精品综合av一区二区国产馆| 欧美一区二区三区视频免费播放| 亚洲精品视频在线观看网站| 91偷拍与自偷拍精品| 亚洲桃色在线一区| 91在线免费看| 亚洲五月六月丁香激情| 91麻豆精品国产91久久久久久久久| 亚洲一区二区四区蜜桃| 欧美久久久久久久久中文字幕| 婷婷一区二区三区| 久久综合九色综合97_久久久| 国产乱国产乱300精品| 亚洲欧美日韩中文字幕一区二区三区| www.综合网.com| 亚洲成av人片一区二区三区| 日韩女同互慰一区二区| 夜夜亚洲天天久久| 欧美影片第一页| 麻豆精品在线播放| 久久久91精品国产一区二区精品| 国产伦理精品不卡| 久久久久久久久久久久久久久99| 国产精品99久久久久久宅男| 亚洲欧洲av色图| 欧美三级日本三级少妇99| 日日骚欧美日韩| 久久综合九色综合97婷婷 | 蜜臀av亚洲一区中文字幕| 26uuu国产电影一区二区| 色又黄又爽网站www久久| 成人午夜电影网站| 午夜精品福利视频网站| 久久久久久夜精品精品免费| 91论坛在线播放| 亚洲欧美电影院| 91精品国产福利在线观看| 激情综合色综合久久| 一区二区三区不卡在线观看| 日韩视频在线你懂得| 99视频热这里只有精品免费| 久久精品国产在热久久| 亚洲欧美日韩在线| 精品国产乱码久久久久久久久| 91麻豆蜜桃一区二区三区| 奇米精品一区二区三区四区 | 欧美亚洲一区三区| 国产精品正在播放| 韩国成人福利片在线播放| 亚洲国产成人高清精品| 中文字幕在线不卡国产视频| 日韩精品中文字幕一区二区三区| 色综合久久99| 99热这里都是精品| 成人国产精品免费网站| 高清不卡一区二区在线| 国产综合色精品一区二区三区| 日日摸夜夜添夜夜添亚洲女人| 一区二区三区产品免费精品久久75| 欧美国产欧美亚州国产日韩mv天天看完整 | 亚洲国产成人高清精品| 亚洲免费资源在线播放| 国产精品理论片在线观看| 国产欧美一区二区在线观看| 日韩午夜电影在线观看| 日韩欧美成人激情| 久久夜色精品国产欧美乱极品| 日韩欧美一卡二卡| 日韩精品最新网址| 久久―日本道色综合久久| 欧美精品一区二区高清在线观看| 精品国产成人在线影院| 欧美精品一区男女天堂| 国产拍欧美日韩视频二区| 亚洲三级在线免费| 亚洲成人黄色小说| 免费xxxx性欧美18vr| 国产成人精品在线看| 色猫猫国产区一区二在线视频| 欧美视频一区二区三区在线观看| 欧美中文字幕一区| 日韩欧美亚洲一区二区| 国产欧美日韩卡一| 一区二区三区在线视频免费观看| 亚洲成av人片一区二区| 久久国产精品99精品国产| 成人av电影免费在线播放| 欧美日韩国产欧美日美国产精品| 日韩精品一区二| 国产精品传媒入口麻豆| 免费视频一区二区| 92精品国产成人观看免费| 欧美日韩电影一区| 精品处破学生在线二十三| 一区在线播放视频| 国产麻豆精品95视频| 欧美日韩aaa| 亚洲色图视频免费播放| 国产精品77777| 制服.丝袜.亚洲.中文.综合| 国产午夜一区二区三区| 久久精品二区亚洲w码| 国精产品一区一区三区mba桃花| 欧美在线短视频| 中文字幕国产一区| 国产精品白丝av| 日韩一区二区三区视频在线| 美洲天堂一区二卡三卡四卡视频 | 日韩极品在线观看| 国产精品久久久久久久久图文区 | 一级女性全黄久久生活片免费| 1024成人网| 亚洲国产精品综合小说图片区| 成人性生交大片免费看在线播放| 色88888久久久久久影院野外| 国产精品欧美一区二区三区| 国产主播一区二区三区| 91精品黄色片免费大全| 午夜精品久久久久久久久久| 国产综合色在线视频区| 久久久久久久久久久电影| 午夜视频在线观看一区二区三区| 欧美三区在线观看| 日韩在线卡一卡二| 日韩精品资源二区在线| 亚洲免费观看高清在线观看| 成人深夜在线观看| 亚洲男人都懂的| 337p亚洲精品色噜噜噜|