Changeset: 321ee5ef3d31 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=321ee5ef3d31 Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/exports.stable.out clients/mapiclient/tomograph.c gdk/ChangeLog gdk/gdk.h gdk/gdk_aggr.c gdk/gdk_bat.c gdk/gdk_bbp.c gdk/gdk_cross.c gdk/gdk_imprints.c gdk/gdk_join.c gdk/gdk_logger.c gdk/gdk_private.h gdk/gdk_search.c gdk/gdk_select.c gdk/gdk_unique.c monetdb5/ChangeLog monetdb5/mal/Tests/tst1602.mal monetdb5/mal/Tests/tst1602.stable.out monetdb5/mal/mal_authorize.c monetdb5/mal/mal_client.c monetdb5/modules/kernel/algebra.c monetdb5/modules/kernel/algebra.h monetdb5/modules/kernel/algebra.mal monetdb5/modules/mal/groupby.c monetdb5/modules/mal/pcre.c monetdb5/modules/mal/tokenizer.c monetdb5/optimizer/Tests/mat00.mal monetdb5/optimizer/Tests/qep00.mal monetdb5/optimizer/Tests/qep01.mal monetdb5/optimizer/Tests/qep02.mal monetdb5/optimizer/opt_costModel.c monetdb5/optimizer/opt_generator.c monetdb5/optimizer/opt_prelude.c monetdb5/optimizer/opt_prelude.h monetdb5/optimizer/opt_pushselect.c monetdb5/optimizer/opt_support.c sql/backends/monet5/sql.c sql/backends/monet5/sql_statistics.c sql/server/sql_atom.c sql/server/sql_parser.y sql/storage/bat/bat_storage.c sql/storage/bat/bat_table.c sql/storage/sql_storage.h sql/storage/store.c sql/test/leaks/Tests/check0.stable.out sql/test/leaks/Tests/check0.stable.out.int128 sql/test/leaks/Tests/check1.stable.out sql/test/leaks/Tests/check1.stable.out.int128 sql/test/leaks/Tests/check2.stable.out sql/test/leaks/Tests/check2.stable.out.int128 sql/test/leaks/Tests/check3.stable.out sql/test/leaks/Tests/check3.stable.out.int128 sql/test/leaks/Tests/check4.stable.out sql/test/leaks/Tests/check4.stable.out.int128 sql/test/leaks/Tests/check5.stable.out sql/test/leaks/Tests/check5.stable.out.int128 sql/test/leaks/Tests/drop3.stable.out sql/test/leaks/Tests/drop3.stable.out.int128 sql/test/leaks/Tests/select1.stable.out sql/test/leaks/Tests/select1.stable.out.int128 sql/test/leaks/Tests/select2.stable.out sql/test/leaks/Tests/select2.stable.out.int128 sql/test/leaks/Tests/temp1.stable.out sql/test/leaks/Tests/temp1.stable.out.int128 sql/test/leaks/Tests/temp2.stable.out sql/test/leaks/Tests/temp2.stable.out.int128 sql/test/leaks/Tests/temp3.stable.out sql/test/leaks/Tests/temp3.stable.out.int128 testing/Mtest.py.in Branch: geo Log Message:
merge with default diffs (truncated from 6021 to 300 lines): diff --git a/clients/Tests/MAL-signatures.stable.out b/clients/Tests/MAL-signatures.stable.out --- a/clients/Tests/MAL-signatures.stable.out +++ b/clients/Tests/MAL-signatures.stable.out @@ -2254,10 +2254,6 @@ command aggr.variance(b:bat[:oid,:any_2] address ALGvariance; comment Gives the variance of all tail values -command algebra.antijoin(left:bat[:oid,:any_1],right:bat[:oid,:any_1]) (l:bat[:oid,:oid],r:bat[:oid,:oid]) -address ALGantijoin2; -comment Returns 2 columns with all BUNs, consisting of the head-oids from 'left' and 'right' for which there are BUNs in 'left' and 'right' with equal tails - command algebra.crossproduct(left:bat[:oid,:any_1],right:bat[:oid,:any_2]) (l:bat[:oid,:oid],r:bat[:oid,:oid]) address ALGcrossproduct2; comment Returns 2 columns with all BUNs, consisting of the head-oids from 'left' and 'right' for which there are BUNs in 'left' and 'right' with equal tails @@ -2320,14 +2316,6 @@ command algebra.ilike(s:str,pat:str):bit address PCREilike2; command algebra.ilike(s:str,pat:str,esc:str):bit address PCREilike3; -command algebra.join(left:bat[:oid,:any_2],rl:bat[:oid,:any_2],rh:bat[:oid,:any_2],li:bit,hi:bit) (l:bat[:oid,:oid],r:bat[:oid,:oid]) -address ALGrangejoin2; -comment Deprecated, see algebra.subrangejoin. Range join - -command algebra.join(left:bat[:oid,:any_1],right:bat[:oid,:any_1]) (l:bat[:oid,:oid],r:bat[:oid,:oid]) -address ALGjoin2; -comment Returns 2 columns with all BUNs, consisting of the head-oids from 'left' and 'right' for which there are BUNs in 'left' and 'right' with equal tails - command algebra.likesubjoin(l:bat[:oid,:str],r:bat[:oid,:str],sl:bat[:oid,:oid],sr:bat[:oid,:oid],nil_matches:bit,estimate:lng) (X_7:bat[:oid,:oid],X_8:bat[:oid,:oid]) address LIKEsubjoin1; command algebra.likesubjoin(l:bat[:oid,:str],r:bat[:oid,:str],esc:str,sl:bat[:oid,:oid],sr:bat[:oid,:oid],nil_matches:bit,estimate:lng) (X_8:bat[:oid,:oid],X_9:bat[:oid,:oid]) @@ -2360,7 +2348,7 @@ comment Routine to handle join paths. T command algebra.projection(left:bat[:oid,:oid],right:bat[:oid,:any_3]):bat[:oid,:any_3] address ALGprojection; -comment Hook directly into the left fetch join implementation. +comment Project left input onto right input. pattern algebra.project(b:bat[:oid,:any_1],v:any_3):bat[:oid,:any_3] address ALGprojecttail; diff --git a/clients/Tests/MAL-signatures.stable.out.int128 b/clients/Tests/MAL-signatures.stable.out.int128 --- a/clients/Tests/MAL-signatures.stable.out.int128 +++ b/clients/Tests/MAL-signatures.stable.out.int128 @@ -2765,10 +2765,6 @@ command aggr.variance(b:bat[:oid,:any_2] address ALGvariance; comment Gives the variance of all tail values -command algebra.antijoin(left:bat[:oid,:any_1],right:bat[:oid,:any_1]) (l:bat[:oid,:oid],r:bat[:oid,:oid]) -address ALGantijoin2; -comment Returns 2 columns with all BUNs, consisting of the head-oids from 'left' and 'right' for which there are BUNs in 'left' and 'right' with equal tails - command algebra.crossproduct(left:bat[:oid,:any_1],right:bat[:oid,:any_2]) (l:bat[:oid,:oid],r:bat[:oid,:oid]) address ALGcrossproduct2; comment Returns 2 columns with all BUNs, consisting of the head-oids from 'left' and 'right' for which there are BUNs in 'left' and 'right' with equal tails @@ -2831,14 +2827,6 @@ command algebra.ilike(s:str,pat:str):bit address PCREilike2; command algebra.ilike(s:str,pat:str,esc:str):bit address PCREilike3; -command algebra.join(left:bat[:oid,:any_2],rl:bat[:oid,:any_2],rh:bat[:oid,:any_2],li:bit,hi:bit) (l:bat[:oid,:oid],r:bat[:oid,:oid]) -address ALGrangejoin2; -comment Deprecated, see algebra.subrangejoin. Range join - -command algebra.join(left:bat[:oid,:any_1],right:bat[:oid,:any_1]) (l:bat[:oid,:oid],r:bat[:oid,:oid]) -address ALGjoin2; -comment Returns 2 columns with all BUNs, consisting of the head-oids from 'left' and 'right' for which there are BUNs in 'left' and 'right' with equal tails - command algebra.likesubjoin(l:bat[:oid,:str],r:bat[:oid,:str],sl:bat[:oid,:oid],sr:bat[:oid,:oid],nil_matches:bit,estimate:lng) (X_7:bat[:oid,:oid],X_8:bat[:oid,:oid]) address LIKEsubjoin1; command algebra.likesubjoin(l:bat[:oid,:str],r:bat[:oid,:str],esc:str,sl:bat[:oid,:oid],sr:bat[:oid,:oid],nil_matches:bit,estimate:lng) (X_8:bat[:oid,:oid],X_9:bat[:oid,:oid]) @@ -2871,7 +2859,7 @@ comment Routine to handle join paths. T command algebra.projection(left:bat[:oid,:oid],right:bat[:oid,:any_3]):bat[:oid,:any_3] address ALGprojection; -comment Hook directly into the left fetch join implementation. +comment Project left input onto right input. pattern algebra.project(b:bat[:oid,:any_1],v:any_3):bat[:oid,:any_3] address ALGprojecttail; diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out --- a/clients/Tests/exports.stable.out +++ b/clients/Tests/exports.stable.out @@ -23,6 +23,7 @@ gdk_return BATappend(BAT *b, BAT *c, bit void BATassertProps(BAT *b); atomDesc BATatoms[]; BAT *BATattach(int tt, const char *heapfile, int role); +gdk_return BATbandjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, const void *c1, const void *c2, int li, int hi, BUN estimate); BAT *BATcalcabsolute(BAT *b, BAT *s); BAT *BATcalcadd(BAT *b1, BAT *b2, BAT *s, int tp, int abort_on_error); BAT *BATcalcaddcst(BAT *b, const ValRecord *v, BAT *s, int tp, int abort_on_error); @@ -107,11 +108,11 @@ BAT *BATconstant(int tt, const void *val BAT *BATconvert(BAT *b, BAT *s, int tp, int abort_on_error); BAT *BATcopy(BAT *b, int ht, int tt, int writeable, int role); BUN BATcount_no_nil(BAT *b); -gdk_return BATcross1(BAT **r1p, BAT **r2p, BAT *l, BAT *r); gdk_return BATdel(BAT *b, BAT *c, bit force); BAT *BATdelta(BAT *b); void BATderiveHeadProps(BAT *b, int expensive); void BATderiveProps(BAT *b, int expensive); +BAT *BATdiff(BAT *l, BAT *r, BAT *sl, BAT *sr, int nil_matches, BUN estimate); gdk_return BATextend(BAT *b, BUN newcap); void BATfakeCommit(BAT *b); gdk_return BATfirstn(BAT **topn, BAT **gids, BAT *b, BAT *cands, BAT *grps, BUN n, int asc, int distinct); @@ -137,7 +138,9 @@ gdk_return BAThash(BAT *b, BUN masksize) gdk_return BATimprints(BAT *b); gdk_return BATins(BAT *b, BAT *c, bit force); BAT *BATintersectcand(BAT *a, BAT *b); +gdk_return BATjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, int nil_matches, BUN estimate); gdk_return BATkey(BAT *b, int onoff); +gdk_return BATleftjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, int nil_matches, BUN estimate); BAT *BATmark(BAT *b, oid base); BAT *BATmark_grp(BAT *b, BAT *g, const oid *base); void *BATmax(BAT *b, void *aggr); @@ -151,38 +154,33 @@ int BATname(BAT *b, const char *nme); BAT *BATnew(int hdtype, int tltype, BUN capacity, int role) __attribute__((warn_unused_result)); int BATordered(BAT *b); int BATordered_rev(BAT *b); +gdk_return BATouterjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, int nil_matches, BUN estimate); BAT *BATprev(BAT *b); gdk_return BATprint(BAT *b); gdk_return BATprintcolumns(stream *s, int argc, BAT *argv[]); gdk_return BATprintf(stream *f, BAT *b); gdk_return BATprod(void *res, int tp, BAT *b, BAT *s, int skip_nils, int abort_on_error, int nil_if_empty); BAT *BATproject(BAT *l, BAT *r); +gdk_return BATrangejoin(BAT **r1p, BAT **r2p, BAT *l, BAT *rl, BAT *rh, BAT *sl, BAT *sr, int li, int hi, BUN estimate); gdk_return BATreplace(BAT *b, BAT *p, BAT *n, bit force); void BATroles(BAT *b, const char *hnme, const char *tnme); BAT *BATsample(BAT *b, BUN n); gdk_return BATsave(BAT *b); +BAT *BATselect(BAT *b, BAT *s, const void *tl, const void *th, int li, int hi, int anti); +gdk_return BATsemijoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, int nil_matches, BUN estimate); void BATseqbase(BAT *b, oid o); gdk_return BATsetaccess(BAT *b, int mode); void BATsetcapacity(BAT *b, BUN cnt); void BATsetcount(BAT *b, BUN cnt); void BATsetprop(BAT *b, int idx, int type, void *v); BAT *BATslice(BAT *b, BUN low, BUN high); -gdk_return BATsubbandjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, const void *c1, const void *c2, int li, int hi, BUN estimate); gdk_return BATsubcross(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr); -BAT *BATsubdiff(BAT *l, BAT *r, BAT *sl, BAT *sr, int nil_matches, BUN estimate); -gdk_return BATsubjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, int nil_matches, BUN estimate); -gdk_return BATsubleftjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, int nil_matches, BUN estimate); -gdk_return BATsubouterjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, int nil_matches, BUN estimate); -gdk_return BATsubprojection(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, int nil_matches, BUN estimate); -gdk_return BATsubrangejoin(BAT **r1p, BAT **r2p, BAT *l, BAT *rl, BAT *rh, BAT *sl, BAT *sr, int li, int hi, BUN estimate); -BAT *BATsubselect(BAT *b, BAT *s, const void *tl, const void *th, int li, int hi, int anti); -gdk_return BATsubsemijoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, int nil_matches, BUN estimate); gdk_return BATsubsort(BAT **sorted, BAT **order, BAT **groups, BAT *b, BAT *o, BAT *g, int reverse, int stable); -gdk_return BATsubthetajoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, int op, int nil_matches, BUN estimate); -BAT *BATsubunique(BAT *b, BAT *s); gdk_return BATsum(void *res, int tp, BAT *b, BAT *s, int skip_nils, int abort_on_error, int nil_if_empty); -BAT *BATthetasubselect(BAT *b, BAT *s, const void *val, const char *op); +gdk_return BATthetajoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, int op, int nil_matches, BUN estimate); +BAT *BATthetaselect(BAT *b, BAT *s, const void *val, const char *op); void BATundo(BAT *b); +BAT *BATunique(BAT *b, BAT *s); BBPrec *BBP[N_BBPINIT]; void BBPaddfarm(const char *dirname, int rolemask); void BBPclear(bat bid); @@ -694,7 +692,6 @@ str ALARMsleep(void *res, int *secs); str ALARMtime(int *res); str ALARMtimers(bat *res, bat *actions); str ALARMusec(lng *ret); -str ALGantijoin2(bat *l, bat *r, const bat *lid, const bat *rid); str ALGcard(lng *result, const bat *bid); str ALGcopy(bat *result, const bat *bid); str ALGcount_bat(wrd *result, const bat *bid); @@ -706,13 +703,11 @@ str ALGfetchoid(ptr ret, const bat *bid, str ALGfind(oid *ret, const bat *bid, ptr val); str ALGfirstn(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str ALGgroupby(bat *res, const bat *gids, const bat *cnts); -str ALGjoin2(bat *l, bat *r, const bat *lid, const bat *rid); str ALGjoinPath(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str ALGmaxany(ptr result, const bat *bid); str ALGminany(ptr result, const bat *bid); str ALGprojection(bat *result, const bat *lid, const bat *rid); str ALGprojecttail(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); -str ALGrangejoin2(bat *l, bat *r, const bat *lid, const bat *rlid, const bat *rhid, const bit *li, const bit *hi); str ALGreuse(bat *ret, const bat *bid); str ALGsample(bat *result, const bat *bid, const int *param); str ALGselectNotNil(bat *result, const bat *bid); @@ -1956,14 +1951,12 @@ str affectedRowsRef; str aggrRef; str alarmRef; str algebraRef; -str antijoinRef; str appendRef; str appendidxRef; str arrayRef; str assertRef; str attachRef; str avgRef; -str bandjoinRef; str basketRef; void batAfterCall(ValPtr v, ValPtr bak); void batBeforeCall(ValPtr v, ValPtr bak); @@ -2224,7 +2217,6 @@ int isUnsafeInstruction(InstrPtr q); int isUpdateInstruction(InstrPtr p); str iteratorRef; str joinPathRef; -str joinRef; str jsonRef; str languageRef; str levenshtein_impl(int *result, str *s, str *t, int *insdel_cost, int *replace_cost, int *transpose_cost); @@ -2543,7 +2535,6 @@ str subuniqueRef; str sumRef; str takeOid(oid id, str *val); str takeRef; -str thetajoinRef; str thetasubselectRef; str tidRef; str timestampRef; diff --git a/clients/mapiclient/tomograph.c b/clients/mapiclient/tomograph.c --- a/clients/mapiclient/tomograph.c +++ b/clients/mapiclient/tomograph.c @@ -281,7 +281,6 @@ base_colors[NUM_COLORS] = { /* 5941 */ { 0, 0, "sql", "bind", 0 }, /* 5664 */ { 0, 0, "mat", "packIncrement", 0 }, /* 4796 */ { 0, 0, "algebra", "subselect", 0 }, -/* 4789 */ { 0, 0, "algebra", "join", 0 }, /* 4789 */ { 0, 0, "algebra", "subjoin", 0 }, /* 2664 */ { 0, 0, "sql", "projectdelta", 0 }, /* 2112 */ { 0, 0, "batcalc", "!=", 0 }, @@ -366,7 +365,6 @@ base_colors[NUM_COLORS] = { /* 2 */ { 0, 0, "calc", "max", 0 }, /* 2 */ { 0, 0, "calc", "bit", 0 }, /* 2 */ { 0, 0, "calc", "*", 0 }, -/* 2 */ { 0, 0, "algebra", "thetajoin", 0 }, /* 2 */ { 0, 0, "algebra", "subthetajoin", 0 }, /* 1 */ { 0, 0, "sql", "dec_round", 0 }, /* 1 */ { 0, 0, "pqueue", "topn_min", 0 }, diff --git a/gdk/ChangeLog b/gdk/ChangeLog --- a/gdk/ChangeLog +++ b/gdk/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog file for MonetDB # This file is updated with Maddlog +* Thu Dec 3 2015 Sjoerd Mullender <sjo...@acm.org> +- Removed "sub" from the names of the function BATsubselect, + BATthetasubselect, BATsubcross, BATsubleftjoin, BATsubouterjoin, + BATsubthetajoin, BATsubsemijoin, BATsubdiff, BATsubjoin, BATsubbandjoin, + BATsubrangejoin, and BATsubunique. +- Removed BATsubleftfetchjoin: it was not used. +- Removed BATcross1. Use BATsubcross instead. + * Thu Oct 8 2015 Sjoerd Mullender <sjo...@acm.org> - Removed all versions of the SORTloop macro. diff --git a/gdk/gdk.h b/gdk/gdk.h --- a/gdk/gdk.h +++ b/gdk/gdk.h @@ -3024,28 +3024,26 @@ gdk_export void BATsetprop(BAT *b, int i #define JOIN_BAND 3 #define JOIN_NE (-3) -gdk_export BAT *BATsubselect(BAT *b, BAT *s, const void *tl, const void *th, int li, int hi, int anti); -gdk_export BAT *BATthetasubselect(BAT *b, BAT *s, const void *val, const char *op); +gdk_export BAT *BATselect(BAT *b, BAT *s, const void *tl, const void *th, int li, int hi, int anti); +gdk_export BAT *BATthetaselect(BAT *b, BAT *s, const void *val, const char *op); gdk_export BAT *BATconstant(int tt, const void *val, BUN cnt, int role); gdk_export BAT *BATconst(BAT *l, int tt, const void *val, int role); -gdk_export gdk_return BATcross1(BAT **r1p, BAT **r2p, BAT *l, BAT *r); gdk_export gdk_return BATsubcross(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr); -gdk_export gdk_return BATsubleftjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, int nil_matches, BUN estimate); -gdk_export gdk_return BATsubouterjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, int nil_matches, BUN estimate); -gdk_export gdk_return BATsubthetajoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, int op, int nil_matches, BUN estimate); -gdk_export gdk_return BATsubsemijoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, int nil_matches, BUN estimate); -gdk_export BAT *BATsubdiff(BAT *l, BAT *r, BAT *sl, BAT *sr, int nil_matches, BUN estimate); -gdk_export gdk_return BATsubjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, int nil_matches, BUN estimate); -gdk_export gdk_return BATsubprojection(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, int nil_matches, BUN estimate); -gdk_export gdk_return BATsubbandjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, const void *c1, const void *c2, int li, int hi, BUN estimate); -gdk_export gdk_return BATsubrangejoin(BAT **r1p, BAT **r2p, BAT *l, BAT *rl, BAT *rh, BAT *sl, BAT *sr, int li, int hi, BUN estimate); +gdk_export gdk_return BATleftjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, int nil_matches, BUN estimate); +gdk_export gdk_return BATouterjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, int nil_matches, BUN estimate); +gdk_export gdk_return BATthetajoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, int op, int nil_matches, BUN estimate); +gdk_export gdk_return BATsemijoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, int nil_matches, BUN estimate); +gdk_export BAT *BATdiff(BAT *l, BAT *r, BAT *sl, BAT *sr, int nil_matches, BUN estimate); +gdk_export gdk_return BATjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, int nil_matches, BUN estimate); +gdk_export gdk_return BATbandjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, const void *c1, const void *c2, int li, int hi, BUN estimate); +gdk_export gdk_return BATrangejoin(BAT **r1p, BAT **r2p, BAT *l, BAT *rl, BAT *rh, BAT *sl, BAT *sr, int li, int hi, BUN estimate); gdk_export BAT *BATproject(BAT *l, BAT *r); gdk_export BAT *BATslice(BAT *b, BUN low, BUN high); -gdk_export BAT *BATsubunique(BAT *b, BAT *s); +gdk_export BAT *BATunique(BAT *b, BAT *s); gdk_export BAT *BATmergecand(BAT *a, BAT *b); gdk_export BAT *BATintersectcand(BAT *a, BAT *b); diff --git a/gdk/gdk_aggr.c b/gdk/gdk_aggr.c --- a/gdk/gdk_aggr.c +++ b/gdk/gdk_aggr.c @@ -29,7 +29,7 @@ * The tail values of s refer to the head of b and g. Only entries at * the specified ids are taken into account for the grouped * aggregates. All other values are ignored. s is compatible with - * the result of BATsubselect(). + * the result of BATselect(). * * If e is not specified, we need to do an extra scan over g to find _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list