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

📄 statistics.c

📁 一个内存数据库的源代码这是服务器端还有客户端
💻 C
📖 第 1 页 / 共 2 页
字号:
	if(STAT_id_inuse ==0) msg= STATprelude(&ret);	if( msg != MAL_SUCCEED) return msg;	authorize("open");	if (openBox("statistics") != 0)		return msg;	throw(MAL, "statistics.open", "Failed to open statistics box");}strSTATclose(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci){	(void) mb;	(void) stk;	(void) pci;		/* fool compiler */	authorize("close");	if (closeBox("statistics", TRUE) == 0)		return MAL_SUCCEED;	throw(MAL, "statistics.close", "Failed to close box");}strSTATdestroy(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci){	Box box;	(void) mb;	(void) stk;	(void) pci;		/* fool compiler */	OpenBox("destroy");	destroyBox("statistics");	return MAL_SUCCEED;}#line 604 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/statistics.mx"strSTATdepositStr(int *ret, str *nme){	BAT *b;	Box box;	ValRecord val;	int idx;	str bnme;	ptr p;	b = BATdescriptor(idx = BBPindex(*nme));	if (b == NULL)		throw(MAL, "statistics.deposit", "BAT unknown");	OpenBox("deposit");	p= BUNfnd(BATmirror(STAT_id_nme),*nme);	if( p) return MAL_SUCCEED;	val.val.bval = idx;	val.vtype = TYPE_bat;	if (depositBox(box, *nme, &val))		throw(MAL, "statistics.deposit", "Failed to deposit object  into box");	bnme = BATgetId(b);	return STATenroll(ret, &bnme);}strSTATdeposit(int *ret, int *bid){	BAT *b;	Box box;	str msg;	if ((b = BATdescriptor(*bid)) == NULL) {		throw(MAL, "statistics.deposit", "Cannot access descriptor");	}	OpenBox("deposit");	msg = BATgetId(b);	msg = STATenroll(ret, &msg);	BBPunfix(b->batCacheid);	return msg;}strSTATtake(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci){	str name;	Box box;	ValPtr v;	OpenBox("take");	name = (str) getArgName(mb, pci, 1);	v = &stk->stk[getArg(pci, 0)];	if (takeBox(box, name, v, (int) getArgType(mb, pci, 0)))		throw(MAL, "statistics.take", "Failed to take object from box");	return MAL_SUCCEED;}strSTATrelease(int *ret, int *bid){	BAT *b;	Box box;	(void) ret;	OpenBox("release");	if ((b = BATdescriptor(*bid)) == NULL) {		throw(MAL, "statistics.release", "Cannot access descriptor");	}	BBPunfix(b->batCacheid);	return MAL_SUCCEED;}strSTATreleaseStr(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci){	str name;	Box box;	(void) stk;		/* fool compiler */	OpenBox("release");	name = (str) getArgName(mb, pci, 1);	if (releaseBox(box, name))		throw(MAL, "statistics.release", "Failed to release object from box");	return MAL_SUCCEED;}#line 698 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/statistics.mx"strSTATreleaseAll(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci){	Box box;	(void) mb;	(void) stk;	(void) pci;		/* fool compiler */	OpenBox("release");	releaseAllBox(box);	return MAL_SUCCEED;}strSTATdiscard(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci){	str name;	Box box;	(void) mb;		/* fool compiler */	OpenBox("discard");	name = (str) getArgValue(stk, pci, 1);	return STATdrop(name);}strSTATdiscard2(int *ret, int *bid){	BAT *b;	Box box;	str msg;	(void) ret;	OpenBox("discard");	if ((b = BATdescriptor(*bid)) == NULL) {		throw(MAL, "statistics.discard", "Cannot access descriptor");	}	msg = STATdrop(BATgetId(b));	BBPunfix(b->batCacheid);	return msg;}strSTATtoString(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci){	Box box;	int i, len = 0;	ValPtr v;	str nme, s = 0;	(void) mb;		/* fool compiler */	OpenBox("toString");	nme = (str) getArgValue(stk, pci, 1);	i = findVariable(box->sym, nme);	if (i < 0)		throw(MAL, "statistics.toString", "Failed to take object from box");	v = &box->val->stk[i];	if (v->vtype == TYPE_str)		s = v->val.sval;	else		(*BATatoms[v->vtype].atomToStr) (&s, &len, v);	if (s == NULL)		throw(MAL, "statistics.toString", "Illegal value");	VALset(&stk->stk[getArg(pci, 0)], TYPE_str, s);	return MAL_SUCCEED;}strSTATnewIterator(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci){	Box box;	lng *cursor;	ValPtr v;	(void) mb;		/* fool compiler */	OpenBox("iterator");	cursor = (lng *) getArgValue(stk, pci, 0);	v = &stk->stk[getArg(pci, 1)];	nextBoxElement(box, cursor, v);	return MAL_SUCCEED;}strSTAThasMoreElements(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci){	Box box;	lng *cursor;	ValPtr v;	(void) mb;		/* fool compiler */	OpenBox("iterator");	cursor = (lng *) getArgValue(stk, pci, 0);	v = &stk->stk[getArg(pci, 1)];	nextBoxElement(box, cursor, v);	return MAL_SUCCEED;}strSTATgetHotset(int *bid){	BAT *b;	Box box;	OpenBox("getHotset");	b = BATjoin(STAT_id_inuse, STAT_id_nme, BATcount(STAT_id_nme));	BBPincref(*bid = b->batCacheid, TRUE);	return MAL_SUCCEED;}strSTATgetObjects(int *bid){	*bid = STAT_id_nme->batCacheid;	BBPincref(*bid, TRUE);	return MAL_SUCCEED;}#line 837 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/statistics.mx"#line 819 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/statistics.mx"s_export str STATgetCount(lng *ret, str *nme);strSTATgetCount(lng *ret, str *nme){	Box box;	ptr p;	int i;	OpenBox("getCount");	p= BUNfnd(BATmirror(STAT_id_nme),*nme);	if( p == NULL)		throw(MAL, "statistics.getCount","Object not known");	i= *(int*) BUNhead(STAT_id_nme,p);	p= BUNfnd(STAT_id_count, &i );	if( p == NULL)		throw(MAL, "statistics.getCount","Not known");	*ret = *(lng*)BUNtail(STAT_id_count,p);	return MAL_SUCCEED;}#line 837 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/statistics.mx"#line 819 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/statistics.mx"s_export str STATgetSize(lng *ret, str *nme);strSTATgetSize(lng *ret, str *nme){	Box box;	ptr p;	int i;	OpenBox("getSize");	p= BUNfnd(BATmirror(STAT_id_nme),*nme);	if( p == NULL)		throw(MAL, "statistics.getSize","Object not known");	i= *(int*) BUNhead(STAT_id_nme,p);	p= BUNfnd(STAT_id_size, &i );	if( p == NULL)		throw(MAL, "statistics.getSize","Not known");	*ret = *(lng*)BUNtail(STAT_id_size,p);	return MAL_SUCCEED;}#line 838 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/statistics.mx"#line 819 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/statistics.mx"s_export str STATgetMin(lng *ret, str *nme);strSTATgetMin(lng *ret, str *nme){	Box box;	ptr p;	int i;	OpenBox("getMin");	p= BUNfnd(BATmirror(STAT_id_nme),*nme);	if( p == NULL)		throw(MAL, "statistics.getMin","Object not known");	i= *(int*) BUNhead(STAT_id_nme,p);	p= BUNfnd(STAT_id_min_lng, &i );	if( p == NULL)		throw(MAL, "statistics.getMin","Not known");	*ret = *(lng*)BUNtail(STAT_id_min_lng,p);	return MAL_SUCCEED;}#line 839 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/statistics.mx"#line 819 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/statistics.mx"s_export str STATgetMax(lng *ret, str *nme);strSTATgetMax(lng *ret, str *nme){	Box box;	ptr p;	int i;	OpenBox("getMax");	p= BUNfnd(BATmirror(STAT_id_nme),*nme);	if( p == NULL)		throw(MAL, "statistics.getMax","Object not known");	i= *(int*) BUNhead(STAT_id_nme,p);	p= BUNfnd(STAT_id_max_lng, &i );	if( p == NULL)		throw(MAL, "statistics.getMax","Not known");	*ret = *(lng*)BUNtail(STAT_id_max_lng,p);	return MAL_SUCCEED;}#line 840 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/statistics.mx"strSTATgetHistogram(int *ret, str *nme){	ptr p;	int i;	BAT *h;	Box box;	OpenBox("getHistogram");	p = BUNfnd(BATmirror(STAT_id_nme), *nme);	if (p == NULL)		throw(MAL, "statistics.getHistogram", "BAT not known");	i= *(int*) BUNhead(STAT_id_nme,p);	p = BUNfnd(STAT_id_histogram, &i);	if (p == NULL)		throw(MAL, "statistics.getHistogram", "Histogram not known");	i = BBPindex((str) BUNtail(STAT_id_histogram, p));	if (i == 0)		throw(MAL, "statistics.getHistogram", "Histogram disappeared");	h = BATdescriptor(i);	BBPincref(*ret = h->batCacheid, TRUE);	return MAL_SUCCEED;}#line 867 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/statistics.mx"

⌨️ 快捷键说明

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