📄 algebra.c
字号:
{ return (*result = BATtsort_rev(b))?GDK_SUCCEED:GDK_FAIL;}#line 1193 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"#line 1145 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"intCMDssort(BAT **result, BAT *b){ return (*result = BATssort(b))?GDK_SUCCEED:GDK_FAIL;}#line 1194 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"#line 1145 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"intCMDssort_rev(BAT **result, BAT *b){ return (*result = BATssort_rev(b))?GDK_SUCCEED:GDK_FAIL;}#line 1195 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"#line 1145 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"intCMDnumber(BAT **result, BAT *b){ return (*result = BATnumber(b))?GDK_SUCCEED:GDK_FAIL;}#line 1196 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"#line 1145 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"intCMDcopy(BAT **result, BAT *b){ return (*result = BATwcopy(b))?GDK_SUCCEED:GDK_FAIL;}#line 1197 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"#line 1145 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"intCMDrcopy(BAT **result, BAT *b){ return (*result = BATrcopy(b))?GDK_SUCCEED:GDK_FAIL;}#line 1198 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"#line 1145 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"intCMDkunique(BAT **result, BAT *b){ return (*result = BATkunique(b))?GDK_SUCCEED:GDK_FAIL;}#line 1199 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"#line 1145 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"intCMDsunique(BAT **result, BAT *b){ return (*result = BATsunique(b))?GDK_SUCCEED:GDK_FAIL;}#line 1200 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"#line 1145 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"intCMDmark_default(BAT **result, BAT *b){ return (*result = BATmark_default(b))?GDK_SUCCEED:GDK_FAIL;}#line 1201 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"#line 1145 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"intCMDtmark_default(BAT **result, BAT *b){ return (*result = BATtmark_default(b))?GDK_SUCCEED:GDK_FAIL;}#line 1202 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"#line 1145 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"intCMDhmark_default(BAT **result, BAT *b){ return (*result = BAThmark_default(b))?GDK_SUCCEED:GDK_FAIL;}#line 1203 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"#line 1158 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"intCMDsemijoin(BAT **result, BAT *left, BAT* right){ return (*result = BATsemijoin(left, right))?GDK_SUCCEED:GDK_FAIL;}#line 1204 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"#line 1158 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"intCMDcross(BAT **result, BAT *left, BAT* right){ return (*result = BATcross(left, right))?GDK_SUCCEED:GDK_FAIL;}#line 1205 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"#line 1158 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"intCMDantijoin(BAT **result, BAT *left, BAT* right){ return (*result = BATantijoin(left, right))?GDK_SUCCEED:GDK_FAIL;}#line 1206 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"#line 1164 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"intCMDjoin(BAT **result, BAT *left, BAT* right, lng *estimate){ return (*result = BATjoin(left, right, *estimate==lng_nil?(size_t)oid_nil:(size_t)*estimate))?GDK_SUCCEED:GDK_FAIL;}#line 1207 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"#line 1164 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"intCMDfetchjoin(BAT **result, BAT *left, BAT* right, lng *estimate){ return (*result = BATfetchjoin(left, right, *estimate==lng_nil?(size_t)oid_nil:(size_t)*estimate))?GDK_SUCCEED:GDK_FAIL;}#line 1208 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"#line 1164 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"intCMDleftjoin(BAT **result, BAT *left, BAT* right, lng *estimate){ return (*result = BATleftjoin(left, right, *estimate==lng_nil?(size_t)oid_nil:(size_t)*estimate))?GDK_SUCCEED:GDK_FAIL;}#line 1209 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"#line 1164 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"intCMDleftfetchjoin(BAT **result, BAT *left, BAT* right, lng *estimate){ return (*result = BATleftfetchjoin(left, right, *estimate==lng_nil?(size_t)oid_nil:(size_t)*estimate))?GDK_SUCCEED:GDK_FAIL;}#line 1210 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"#line 1164 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"intCMDouterjoin(BAT **result, BAT *left, BAT* right, lng *estimate){ return (*result = BATouterjoin(left, right, *estimate==lng_nil?(size_t)oid_nil:(size_t)*estimate))?GDK_SUCCEED:GDK_FAIL;}#line 1211 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"#line 1158 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"intCMDsunion(BAT **result, BAT *left, BAT* right){ return (*result = BATsunion(left, right))?GDK_SUCCEED:GDK_FAIL;}#line 1212 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"#line 1158 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"intCMDkunion(BAT **result, BAT *left, BAT* right){ return (*result = BATkunion(left, right))?GDK_SUCCEED:GDK_FAIL;}#line 1213 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"#line 1158 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"intCMDsintersect(BAT **result, BAT *left, BAT* right){ return (*result = BATsintersect(left, right))?GDK_SUCCEED:GDK_FAIL;}#line 1214 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"#line 1158 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"intCMDkintersect(BAT **result, BAT *left, BAT* right){ return (*result = BATkintersect(left, right))?GDK_SUCCEED:GDK_FAIL;}#line 1215 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"#line 1158 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"intCMDtintersect(BAT **result, BAT *left, BAT* right){ return (*result = BATtintersect(left, right))?GDK_SUCCEED:GDK_FAIL;}#line 1216 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"#line 1158 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"intCMDsdiff(BAT **result, BAT *left, BAT* right){ return (*result = BATsdiff(left, right))?GDK_SUCCEED:GDK_FAIL;}#line 1217 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"#line 1158 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"intCMDkdiff(BAT **result, BAT *left, BAT* right){ return (*result = BATkdiff(left, right))?GDK_SUCCEED:GDK_FAIL;}#line 1218 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"#line 1158 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"intCMDtdiff(BAT **result, BAT *left, BAT* right){ return (*result = BATtdiff(left, right))?GDK_SUCCEED:GDK_FAIL;}#line 1219 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"#line 1170 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"intCMDsample(BAT **result, BAT* b, int *param){ return (*result = BATsample(b, *param))?GDK_SUCCEED:GDK_FAIL;}#line 1220 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"intCMDtunique(BAT **result, BAT* b){ oid id = oid_nil; BAT *v = BATconst(BATmirror(b), TYPE_oid, &id); *result = BATkunique(v); BBPreclaim(v); return *result?GDK_SUCCEED:GDK_FAIL;}intCMDcount_nil(int *result, BAT *b, bit *ignore_nils){ if (*ignore_nils) *result = (int) BATcount_no_nil(b); else *result = (int) BATcount(b); return GDK_SUCCEED;}intCMDgroup(BAT **result, BAT *b, int *start, int *incr, int *grpsize){ return (*result = BATgroup(b, *start, *incr, *grpsize)) ? GDK_SUCCEED : GDK_FAIL;}intCMDgen_group(BAT **result, BAT *b ){ BUN u, v; int xx; int htpe = (b->htype == TYPE_void)?TYPE_oid:b->htype; BAT *r = BATnew(htpe, TYPE_void, BATcount(b)*2); if (b->hvarsized) { BATloopFast(b, u, v, xx) { int i, sz = *(int*)BUNtloc(b, u); for(i = 0; i < sz; i++) { if (BUNfastins(r, BUNhvar(b, u), NULL) == NULL) { BBPreclaim(r); return GDK_FAIL; } } } } else { BATloopFast(b, u, v, xx) { int i, sz = *(int*)BUNtloc(b, u); for(i = 0; i < sz; i++) { if (BUNfastins(r, BUNhloc(b, u), NULL) == NULL) { BBPreclaim(r); return GDK_FAIL; } } } } r -> hsorted = BAThordered(b); r -> tsorted = BATtordered(b); *result = r; return GDK_SUCCEED;}intCMDproject(BAT **res, BAT *b, ptr p, int t){ return (*res = BATconst(b, t, p)) ? GDK_SUCCEED : GDK_FAIL;}intCMDmark(BAT **res, BAT *b, oid *base){ return (*res = BATmark(b, *base)) ? GDK_SUCCEED : GDK_FAIL;}intCMDtmark(BAT **res, BAT *b, oid *base){ return (*res = BATmirror(BATmark(BATmirror(b), *base))) ? GDK_SUCCEED : GDK_FAIL;}intCMDhmark(BAT **res, BAT *b, oid *base){ return (*res = BATmirror(BATmark(b, *base))) ? GDK_SUCCEED : GDK_FAIL;}intCMDhashsplit(BAT **res, BAT *b, int *nfrag){ return (*res = BAThashsplit(b, *nfrag, FALSE)) ? GDK_SUCCEED : GDK_FAIL;}intCMDuhashsplit(BAT **res, BAT *b, int *nfrag){ return (*res = BAThashsplit(b, *nfrag, TRUE)) ? GDK_SUCCEED : GDK_FAIL;}intCMDrangesplit(BAT **res, BAT *b, int *nfrag){ return (*res = BATrangesplit(b, *nfrag, FALSE)) ? GDK_SUCCEED : GDK_FAIL;}intCMDurangesplit(BAT **res, BAT *b, int *nfrag){ return (*res = BATrangesplit(b, *nfrag, TRUE)) ? GDK_SUCCEED : GDK_FAIL;}#line 1338 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"INLINE intlike(char *x, char *y, int ylen){ char *r; if (x == (char *) NULL) { return 0; } for (r = x + strlen(x) - ylen; x <= r; x++) { int ok = 1; char *s = x; char *q; for (q = y; *q; q++, s++) if (*q != tolower(*s)) { ok = 0; break; } if (ok) return 1; } return 0;}intCMDlike(BAT **ret, BAT *b, str s){ BAT *c = BATnew(BAThtype(b), TYPE_str, BATcount(b) / 10); str t = GDKstrdup(s); BUN u, v; int xx, yy = 0; if (c == NULL) return GDK_FAIL; for (s = t; *s; s++, yy++) *s = tolower(*s); if (b->hvarsized) { BATloopFast(b, u, v, xx) if (like(BUNtvar(b, u), t, yy)) if (BUNfastins(c, BUNhvar(b, u), BUNtvar(b, u)) == NULL) { BBPreclaim(c); return GDK_FAIL; } } else { BATloopFast(b, u, v, xx) if (like(BUNtvar(b, u), t, yy)) if (BUNfastins(c, BUNhloc(b, u), BUNtvar(b, u)) == NULL) { BBPreclaim(c); return GDK_FAIL; } } c->hsorted = BAThordered(b); c->tsorted = BATtordered(b); *ret = c; return GDK_SUCCEED;}#line 1398 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"static intslice(BAT **retval, BAT *b, lng start, lng end){ /* the internal BATslice requires exclusive end */ if (start < 0) { GDKerror("CMDslice: start position of slice should >= 0\n"); return GDK_FAIL; }#if SIZEOF_SIZE_T < SIZEOF_LNG if (start >= ((lng) 1 << (8 * SIZEOF_SIZE_T)) || end >= ((lng) 1 << (8 * SIZEOF_SIZE_T))) { GDKerror("CMDslice: argument out of range\n"); return GDK_FAIL; }#endif return (*retval = BATslice(b, (size_t) start, (size_t) end + 1)) ? GDK_SUCCEED : GDK_FAIL;}intCMDslice(BAT **retval, BAT *b, lng *start, lng *end){ return slice(retval, b, *start, *end);}intCMDslice_int(BAT **retval, BAT *b, int *start, int *end){ return slice(retval, b, *start, *end);}#line 1431 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/algebra.mx"intCMDposition(int *retval, BAT *b, ptr val){ ptr p = (b->htype == TYPE_bat) ? (ptr) &((BAT *) val)->batCacheid : val; ptr v = BUNfnd(b, p); if (v == 0) { GDKerror("CMDposition: item not found\n"); return GDK_FAIL; } *retval = BUNindex(b, v) - BUNindex(b, BUNfirst(b)); return GDK_SUCCEED;}intCMDpositionBUN(int *retval, BAT *b, ptr val, ptr tval){ ptr p = (b->htype == TYPE_bat) ? (ptr) &((BAT *) val)->batCacheid : val; ptr o = (b->ttype == TYPE_bat) ? (ptr) &((BAT *) tval)->batCacheid : tval; ptr v = BUNlocate(b, p, o); if (v == 0) { GDKerror("CMDposition: item not found\n"); return GDK_FAIL; } *retval = BUNindex(b, v) - BUNindex(b, BUNfirst(b)); return GDK_SUCCEED;}int
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -