📄 statistics.c
字号:
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 + -